Multiple projects from one setup.py?

为君一笑 提交于 2019-12-06 19:58:08

问题


My current setup.py (using setuptools) installs two things, one is tvdb_api (an API wrapper), the other is tvnamer (a command line script)

I wish to make the two available separately, so a user can do..

easy_install tvdb_api

..to only get the API wrapper, or..

easy_install tvnamer

..to install tvnamer (and tvdb_api, as a requirement)

Is this possible without having two separate setup.py scripts? Can you have two separate PyPi packages that come from the same python setup.py upload command..?


回答1:


setup.py is just a regular Python file, which by convention sets up packages. By convention, setup.py contains a call to the setuptools or distutils setup() function. If you want to use one setup.py for two packages, you can call a different setup() function based on a command-line argument:

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

Practically, though, I'd recommend just writing two scripts.



来源:https://stackoverflow.com/questions/769793/multiple-projects-from-one-setup-py

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!