如何让python程序监听环境变量?

如何让python程序监听环境变量?,python,environment-variables,virtualenv,pip,pypi,Python,Environment Variables,Virtualenv,Pip,Pypi,如果这个问题不清楚,很抱歉 我用python编写了一个库,将其上载到PyPI(pip)。我想让我的程序运行并响应环境变量的输入 例如,请参阅此库: 通过pip安装后,用户可以通过 $ pip install youtube-dl $ youtube-dl http://youtube.com/video?v=sdfafd7f6s # What's cool is that the above even works in a virtualenv! 我也希望我的程序能放在一个环境变量上,但我

如果这个问题不清楚,很抱歉

我用python编写了一个库,将其上载到PyPI(pip)。我想让我的程序运行并响应环境变量的输入

例如,请参阅此库:

通过pip安装后,用户可以通过

$ pip install youtube-dl
$ youtube-dl http://youtube.com/video?v=sdfafd7f6s

# What's cool is that the above even works in a virtualenv!
我也希望我的程序能放在一个环境变量上,但我不知道如何设置它


有什么线索吗?谢谢

你的问题不清楚。看起来您想要的是从命令行运行程序,而无需显式调用Python解释器

要做到这一点,只需在setup.py中的几行代码就可以声明。这在本文中有解释。基本上,您需要一个控制台脚本项:

setup(
    # other arguments here...
    entry_points = {
        'console_scripts': ['foo = my_package.some_module:main_func']
    }
)
您可以在的第68-71行中看到类似的内容

如果确实要读取环境变量,请使用操作系统模块中的

import os

try:
    important_info = os.environ['IMPORTANT_INFO']
except KeyError:
    raise Exception('Set IMPORTANT_INFO environment variable, please!')

呃。。我不认为这和环境变量有任何关系?您的路径上的可执行文件可以在不指定绝对路径的情况下运行。您是对的,我认为我提供的示例修改了路径,但我想知道在安装过程中这样做的最佳方法。对于您的问题,更好的标题可能是“如何将Python程序安装为可执行文件?”谢谢!他们在youtube dl中的代码是相似的,我应该注意到哈哈。