是否可以在setup.py中使用动态配置?
我有一个python应用程序,它是一个脚本集合,用于向后端api发出请求。我想动态定制安装的脚本,可能是通过将标志传递给pip install
命令。
示例setup.py
from setuptools import setup, find_packages
setup(
name='my-app',
version='0.0.1',
packages=find_packages(),
scripts=['bin/do_stuff',
'bin/do_other_stuff'
],
)
我想根据安装标志动态修改“脚本”的内容,添加其他路径。
这可能吗?
答案 0 :(得分:1)
pip允许通过--install-option
将非标准参数传递给setup.py,但您必须在调用setup()
之前从sys.argv中删除该参数。因此,您最好通过环境变量传递其他信息:
MY_EXTRA_INFO=add_script pip install
获取setup.py中的var:
if 'MY_EXTRA_INFO' in os.environ:
add_scripts = ['bin/add_script']
else:
add_scripts = []
setup(
scripts=['bin/do_stuff',
'bin/do_other_stuff'
] + add_scripts,
)