我有一个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
感谢您的任何建议!
最佳答案
安装脚本检查python的安装位置,并将此python更改为正确的python。它在安装软件包的每台计算机上执行。
从文档:
脚本是包含Python的文件
源代码,打算开始
从命令行。脚本不
要求Distutils做任何事情
复杂。唯一聪明的功能
就是如果第一行
脚本以#开头!并包含
单词“ python”,Distutils将
调整第一行以引用
当前口译员的位置。通过
默认情况下,它被替换为
当前口译员的位置。的
--executable(或-e)选项将允许解释器路径为
明确覆盖。
关于python - python setup.py安装更改脚本解释器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4517934/