1

我不确定我应该用这个问题寻找什么。

假设我在 Python 中创建了一个脚本来解析命令行参数。我应该怎么做才能以与其他 *NIX 工具相同的方式从命令行执行它?

例如:而不是:

$ python program -s 2000

或者

$ ./program -s 2000

我只想能够做到以下几点:

$ program -s 2000

理想情况下,我希望它可以在 Windows 和 OSX 上运行。关于我希望在哪里完成此任务的任何信息?我已经尝试过shebang,它允许我按照第二个示例执行脚本,但是我找不到太多关于在不指定当前目录的情况下允许它执行的信息。谢谢!

4

3 回答 3

3

到目前为止,其他答案没有提到的一件事:

./program ...

program ...

不是您可以在程序内部影响的东西。这是因为 Unixen 默认情况下,在查找可执行文件时不搜索当前目录,只搜索PATH. 您需要添加.PATH(不推荐,因为这是一个安全问题,我实际上并不确定它是否会工作),添加程序所在的目录PATH,或者将程序安装到已经存在的目录中。(例如,通过将其符号链接到/usr/local/bin/. 我还为我的实用程序使用两者的组合,放置~/bin/PATH 并将程序放置/链接到那里。)

于 2013-03-18T22:59:29.843 回答
1

签出:http: //www.pyinstaller.org/。它看起来是适合这项工作的工具。应该可以在 Windows、OS X、Linux 上运行。用法可以在这里找到:https ://github.com/pyinstaller/pyinstaller#usage

于 2013-03-18T22:54:40.427 回答
1

在文件顶部添加以下行:

#!/usr/bin/python

最后为您的文件设置执行权限

chmod +x program

第一行告诉程序加载器应该由哪个解释器处理文件

于 2013-03-18T22:54:45.013 回答