python 在 setup.py 中使用动态配置安装 setuptools
python setuptools install with dynamic configuration in setup.py
是否可以在 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'
],
)
我想根据安装标志动态修改 'scripts' 的内容,以添加其他路径。
这可能吗?
pip 允许通过 --install-option
将非标准参数传递给 setup.py,但您必须在调用 setup()
之前从 sys.argv 中删除参数。所以你最好是通过环境变量传递额外的信息:
MY_EXTRA_INFO=add_script pip install
获取setup.py中的变量:
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,
)
是否可以在 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'
],
)
我想根据安装标志动态修改 'scripts' 的内容,以添加其他路径。
这可能吗?
pip 允许通过 --install-option
将非标准参数传递给 setup.py,但您必须在调用 setup()
之前从 sys.argv 中删除参数。所以你最好是通过环境变量传递额外的信息:
MY_EXTRA_INFO=add_script pip install
获取setup.py中的变量:
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,
)