很抱歉,如果这个问题不清楚。
我在python中编写了一个库,要上传到PyPI(pip)。我想让我的程序运行并响应环境变量的输入。
例如,请参阅此库: https://github.com/rg3/youtube-dl
通过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!
我也喜欢将我的程序放在环境变量上,但我不知道如何设置它。
任何线索?谢谢!
答案 0 :(得分:2)
你的问题不清楚。看起来你想要的是从命令行运行你的程序而不显式调用Python解释器。
要执行此操作,您只需在 setup.py 中添加几行即可声明entry point。这在Automatic Script Creation中有解释。基本上,您需要一个console_scripts项:
setup(
# other arguments here...
entry_points = {
'console_scripts': ['foo = my_package.some_module:main_func']
}
)
你可以在setup.py file for youtube-dl的第68-71行看到类似内容。
如果您真的想阅读环境变量,请使用os模块中的environ。
import os
try:
important_info = os.environ['IMPORTANT_INFO']
except KeyError:
raise Exception('Set IMPORTANT_INFO environment variable, please!')