我的当前 setup.py (使用setuptools的)安装两件事情,一个是tvdb_api(一个API包装),另一种是tvnamer(命令行脚本)

我希望使两个单独提供的,所以一个用户可以做..

easy_install tvdb_api

..只获取API的包装,或..

easy_install tvnamer

..安装tvnamer(和tvdb_api,作为一个要求)

这是可能的,而无需两个单独setup.py脚本?你可以有来自同一个python setup.py upload命令两个独立的包的PyPI ..?

有帮助吗?

解决方案

setup.py仅仅是一个常规的Python文件,它按照惯例设置包。按照惯例,setup.py包含对setuptools的或distutils的setup()函数的调用。如果你想使用一个setup.py了两个包,你可以调用基于命令行参数不同setup()功能:

import sys
if len(sys.argv) > 1 and sys.argv[1] == 'script':
    setup(name='tvnamer', ...)
else:
    setup(name='tvdb_api', ...)

实际上,虽然,我建议你只写了两个脚本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top