Python:PIP在根目录中安装子包装
-
30-09-2019 - |
题
我有这样的结构:
setup.py
package
__init__.py
sub_package
___init__.py
sub_package2
__init__.py
如果我通过setup.py安装安装软件包,那么它可以很好地赞赏(通过将整个软件包复制到站点包装DIR):
site_packages
package
sub_package
sub_package2
但是,如果我运行PIP安装程序包,则PIP将每个子包装安装为独立软件包:
site-packages
package
sub_package
sub_package2
我该如何避免这种情况?我使用setuptools的find_packages()指定软件包。
解决方案
注意:此答案不再有效,仅出于历史原因而保存,现在正确的答案是使用setuptools,更多信息 https://mail.python.org/pipermail/distutils-sig/2013-march/020126.html
首先,我建议放下setuptools:
并使用 dist (哪一个是 分发Python包装的标准机制) 或者 分发 你也有 distutils2 但是我认为还没有准备好,并且出于新标准 这里 是如何编写setup.py的指南。
出于您的问题 find_packages()
不存在 dist 您将不得不这样添加您的包裹:
setup(name='package',
version='0.0dev1',
description='blalal',
author='me',
packages=['package', 'package.sub_package', 'package.sub_package2'])
而且,如果您有很多软件包和子软件包,则必须制作一些代码来创建软件包列表 这里 是Django源的一个示例。
我认为使用distutils可以帮助您解决问题,我希望这可以帮助:)
不隶属于 StackOverflow