我最近自己在 LPTHW 中通过了 Ex46。和你一样,我对脚本感到困惑。如果其他答案对您来说太高级了,我最终只输入了一个简单的“hello world”脚本:
#!/usr/bin/env python
from test3 import printstring
printstring.printstring("test script working")
print "test over"
我将该文件命名为 testscript3.py (*注意,我后来了解到,如果它是一个我希望看起来像系统命令的真实脚本,那么省略 .py 文件扩展名会更方便)
我的文件 test3.py 是这样的:
def printstring(s='you did not provide string'):
print s
这是我在尝试使此过程正常工作时学到的一些新手知识:
这 #!符号有时发音为 shebang,简单的解释是该行上的命令告诉 shell 使用 python 来运行脚本。如果您不使用“.py”文件扩展名,那么脚本的用户不需要关心运行脚本需要什么解释器。参见维基百科 shebang 文章。
我运行以下命令来打包发行版:
python setup.py sdist
之后,我可以通过运行安装包和脚本
sudo pip install test3-0.1.tar.gz
我担心的一件事是脚本文件的权限。但是,我注意到 distutils 在打包时会处理这个问题(将模式更改为 755 或其他)。
你可以在 github 上找到我的整个项目。