python setup.py安装更改脚本解释器

时间:2010-12-23 10:35:34

标签: python path install virtualenv

我有一个Python包,其中包含scripts/文件夹中的一些脚本。我的setup.py文件包含::

#!/usr/bin/env python

from distutils.core import setup

scripts = ['script1', 'script2', 'script3']

setup(name='Test',
      version='0.1.0',
      packages=['test'],
      scripts=['scripts/' + x for x in scripts]
     )

每个脚本都包含行::

#!/usr/bin/env python

在顶部。但是,当我运行python setup.py install时,此行会更改为::

#!/usr/bin/python

自动在已安装的脚本中。有办法避免这种情况吗?这对我来说是个问题的原因是因为我使用的是virtualenv,所以Python可执行文件的正确路径应该是::

#/Users/user/.virtualenvs/default/bin/python

所以我宁愿将解释器设置为::

#!/usr/bin/env python

感谢您的任何建议!

1 个答案:

答案 0 :(得分:3)

安装脚本检查安装了python的位置,并将此python更改为正确的python。它是在安装软件包的每台机器上完成的。

来自docs:

  

脚本是包含Python的文件   源代码,打算启动   从命令行。脚本没有   要求Distutils做任何事情   复杂。唯一聪明的功能   如果是第一行的话   脚本以#开头!并包含   单词“python”,Distutils会   调整第一行参考   目前的口译员所在地。通过   默认情况下,它被替换为   目前的口译员所在地。该   --executable(或-e)选项将允许解释器路径   明确地覆盖了。