2012-05-29 27 views
16

我学习Python从学习Python坚硬方式包装和它说的运动之一:什么脚本会进入Python包的bin文件夹?

放入bin目录的脚本,您可以运行

对我来说,似乎有点模糊。我不确定哪种脚本会进入bin文件夹。 The Hitchhiker's Guide to Packaging

将您编写的任何使用您的软件包的脚本和您认为对用户有用的脚本放入bin。如果您没有,请删除bin目录。

但我仍然想知道那里会有什么样的脚本。所以,我知道它可能听起来像一个愚蠢的问题,但有人可以给我一个例子,说明什么时候,以及为什么会把“脚本”放在他们的包的bin文件夹中?

回答

20

我刚刚在LPTHW中通过了Ex46。像你一样,我被剧本弄糊涂了。如果对方的回答对你来说太先进了,最后我只是把一个简单的“Hello World”脚本:

#!/usr/bin/env python 

from test3 import printstring 
printstring.printstring("test script working") 
print "test over" 

我命名的文件testscript3.py(*注意,后来我才知道,这将是更方便,如果它是那么我想看起来像一个系统命令)

我的文件test3.py是像这样一个真正的脚本离开关的.py文件扩展名:

def printstring(s='you did not provide string'): 
    print s 

下面是一些新手的东西我在试图让这个过程起作用时学到了这些东西:

  • #!符号有时发音为shebang,简单的解释是该行的命令告诉shell使用python运行脚本。如果您不使用“.py”文件扩展名,那么脚本的用户不需要关心运行脚本需要什么解释器。见wikipedia shebang article

  • 我运行下面的命令包的分发:

    蟒蛇setup.py sdist

  • 这样做之后,我能够通过运行

    须藤PIP安装的软件包和脚本安装test3-0.1.tar.gz

  • 我担心的一件事是脚本文件的权限。但是,我注意到distutils在打包时会照顾到这一点(将模式更改为755或其他)。

你可以找到我的whole project for this example on github

+1

+1为新手部分 – Deepend

+0

非常好。感谢分享。 – MikeiLL

相关问题