setup.py中的脚本名称,为什么我需要脚本文件名的文件扩展名?

时间:2012-07-30 13:46:53

标签: python distutils

my previous answer相关 - 我对使用setup.py分发python包非常陌生。

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

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

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

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

setup(**config)

我做错了什么,或者是预期的行为?我猜这是预期的,但我只是对python文档感到困惑。我确实意识到这可能有一个微不足道的解释,但经过一些谷歌搜索我无法弄明白,也许其他一些新手将受益于这个问题。谢谢!

1 个答案:

答案 0 :(得分:1)

您必须完全按照文件系统中的表示编写脚本名称。

我认为您对文档感到困惑,因为在某些平台(Unix)上,文件扩展名不是选择执行文件的标准方法(如果您查找“unix shebang”想了解更多信息,因此,脚本上通常没有文件名扩展名。