我不确定我应该用这个问题寻找什么。
假设我在Python中创建了一个脚本来解析命令行参数。我应该怎么做才能以与其他* NIX工具相同的方式从命令行执行它?
Ex:而不是:
$ python program -s 2000
或
$ ./program -s 2000
我希望能够做到以下几点:
$ program -s 2000
理想情况下,我希望在Windows和OSX上运行。关于我希望在哪里完成此任务的任何信息?我已经尝试了shebang,它允许我按照第二个例子执行脚本,但是我找不到很多关于允许它在不指定当前目录的情况下执行的信息。谢谢!
答案 0 :(得分:3)
到目前为止,其他答案没有提到的一件事:
之间的区别./program ...
和
program ...
不是您可以在程序中影响的内容。这是因为默认情况下,Unixen在查找可执行文件时不会搜索当前目录,只搜索PATH
上的目录。您需要将.
添加到PATH
(不推荐,因为这是一个安全问题,我实际上并不确定它是否有效),添加程序所在的目录{{1或者将程序安装到已经存在的目录中。 (例如,将它符号化为PATH
。我还将两者的组合用于我的实用程序,将/usr/local/bin/
放在PATH上并在那里放置/链接程序。)
答案 1 :(得分:1)
结帐:http://www.pyinstaller.org/。它看起来像是工作的正确工具。应该适用于Windows,OS X,Linux。用法可以在这里找到:https://github.com/pyinstaller/pyinstaller#usage
答案 2 :(得分:1)
在文件顶部添加以下行:
#!/usr/bin/python
最后设置文件的执行权限
chmod +x program
第一行告诉程序加载器哪个解释器应该处理文件