Aco*_*r83 18 python directory package bin
我正在从学习Python艰难的方式学习Python包,其中一个练习它说:
将脚本放在可以运行的bin目录中
对我来说,这看起来有点模糊.我不确定哪种脚本会进入bin文件夹.Hitchhiker的包装指南说
将你编写过的任何使用你的软件包的脚本放入bin中,你认为这些脚本对你的用户有用.如果您没有,请删除bin目录.
但是我仍然想知道那里会有什么样的剧本.所以,我知道它可能听起来像一个愚蠢的问题,但是有人可以给我一个例子说明何时,以及为什么会在其包的bin文件夹中放入"脚本"?
Ste*_*och 20
我最近刚刚在LPTHW中完成了Ex46.和你一样,我对脚本感到困惑.如果另一个答案对你来说太高级了,我最后只是简单地写了一个"hello world"脚本:
#!/usr/bin/env python
from test3 import printstring
printstring.printstring("test script working")
print "test over"
Run Code Online (Sandbox Code Playgroud)
我将该文件命名为testscript3.py(*注意,我后来才知道,如果它是一个我想看起来像系统命令的真实脚本,那么放弃.py文件扩展名会更方便)
我的文件test3.py是这样的:
def printstring(s='you did not provide string'):
print s
Run Code Online (Sandbox Code Playgroud)
这是我在尝试使这个过程工作时学到的一些新手:
#!符号有时发音为shebang,简单的解释是该行上的命令告诉shell使用python来运行脚本.如果您不使用".py"文件扩展名,那么脚本的用户无需关心运行脚本所需的解释器.请参阅wikipedia shebang文章.
我运行以下命令来打包发行版:
python setup.py sdist
在这之后,我能够通过运行来安装包和脚本
sudo pip install test3-0.1.tar.gz
我担心的一件事是脚本文件的权限.但是,我注意到distutils在打包时处理了这个问题(将模式改为755或其他).