【问题标题】:For setup.py, how do you set a script's default program as the current python interpreter?对于 setup.py,如何将脚本的默认程序设置为当前的 python 解释器?
【发布时间】:2016-11-28 23:05:29
【问题描述】:

例如,假设 setup.py 脚本如下

from distutils.core import setup

setup(
    name='great_package_name',
    version='1.0',
    description='another great python package!',
    packages=['greatness'],
    scripts=['bin/some_script.py']
)

我希望 bin/some_script.py 使用默认程序

/home/itzjustricky/anaconda2/envs/py33/bin/python

这是用于调用setup.py的python解释器,即

my-cpu: python setup.py
my-cpu: which python
/home/itzjustricky/anaconda2/envs/py33/bin/python

有没有办法让 setup.py 自动放置

#!/home/itzjustricky/anaconda2/envs/py33/bin/python

bin/some_script.py 文件顶部的标题?如果 setup.py 也能去掉 .py 文件扩展名,那就太好了。

我可能会破解一种方法来使用 sys.executable 来获得结果,但是有没有更简洁的方法?我在 Python3 中工作。提前感谢您的帮助!

【问题讨论】:

    标签: python python-3.x setup.py


    【解决方案1】:

    我只是简单地意识到这一点

    #!/usr/bin/env python
    

    在 bin/some_script.py 文件的开头解决了我的问题。我不确定 anaconda 是否在幕后做某事。为了摆脱扩展,我刚决定从一开始就将 some_script 命名为 bin/some_script 就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多