繁体   English   中英

setuptools setup.py 可以定义多个包吗?我如何单独引用它们?

[英]Can setuptools setup.py define multiple packages and how do I reference them individually?

我维护一个Python REST 微框架 它可以通过 setuptools 安装,并且在PyPi上可用。 该框架提供的某些功能仅与开发相关,在生产环境中不应该真正可用。

如果我按如下方式配置 setuptools 并将其安装在 virualenv 中,事情似乎确实有效。

setup(name='prestans',
      version = __version__,
      install_requires = ['WebOb>=1.5',],
...
)

setup(name='prestans-devel',
      version = __version__,
      install_requires = ['prestans', 'Click>=5.1', 'Jinja2>=2.2.8'],
...
)

我有以下问题:

  • 这是合法/正确的做法吗? 或者有更好的方法来处理这个问题吗?
  • 当我使用python setup.py sdist upload发布版本时,这会起作用吗? (在不填满我的 pypi 列表的情况下测试这个非常困难,除非当然有我错过的试运行选项)

谢谢你的时间。

我不确定这样做是否正确。 事实上,恕我直言,这看起来不是一种干净的方式。 最好的办法是在setup.py中使用 install_requires 进行包安装,并在requirements.txt文件中列出重新创建开发环境所需的所有包。

您可以查看此链接以获得明确的区别:

https://python-packaging-user-guide.readthedocs.io/discussions/install-requires-vs-requirements

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM