2012-07-30 58 views
0

my previous answer相关 - 我是使用setup.py分发python包的新手。setup.py中的脚本名称,为什么我需要脚本文件名的文件扩展名?

根据python documentation,当将脚本参数传递给setup.py文件中的setup()时,它看起来应该使用没有文件扩展名的脚本名称。

setup(..., 
     scripts=['scripts/xmlproc_parse', 'scripts/xmlproc_val'] 
    ) 

但是,我发现我自己的测试用例需要将“.py”扩展名添加到脚本参数中才能打包工作。例如:

config = {... 
    'scripts': ['bin/testscript3.py'], 
    } 
.... 

setup(**config) 

我做错了什么,或者是预期的行为?我的猜测是,这是预期的,但我只是困惑的Python文档。我意识到这可能有一个微不足道的解释,但一些谷歌搜索后,我无法弄清楚,也许其他一些新手会受益于这个问题。谢谢!

回答

1

您必须完全按照它在文件系统上表示的那样编写脚本名称。

我认为你对文档感到困惑,因为在某些平台上(Unix),文件扩展名不是标准的选择文件在哪个程序中被执行的方式(如果你想学习的话,找“unix shebang”更多),所以,经常在脚本上没有文件名扩展名。

+0

谢谢!一个比我预期的更加微不足道的答案:) - >解答:当我使用脚本“真实”时,我可能会隐藏文件扩展名以使其更容易运行/使用。 – 2012-07-30 14:13:34

相关问题