[英]Python: pip installs sub-packages in root dir
我有這樣的結構:
setup.py
package
__init__.py
sub_package
___init__.py
sub_package2
__init__.py
如果我是通過setup.py install安裝軟件包的,那么它可以正常工作(將整個軟件包復制到site-packages目錄中):
site_packages
package
sub_package
sub_package2
但是,如果我運行pip install package,則pip將每個子軟件包安裝為獨立軟件包:
site-packages
package
sub_package
sub_package2
如何避免這種情況? 我使用setuptools中的find_packages()來指定軟件包。
注意:此答案不再有效,僅出於歷史原因保留,現在正確的答案是使用setuptools,更多信息https://mail.python.org/pipermail/distutils-sig/2013-March/020126。 html
首先,我建議您刪除setuptools:
並使用distutils (這是分發Python軟件包的標准機制 )或分發您也有distutils2,但我認為還沒有准備好,對於新標准, 這是如何編寫setup.py的指南。
對於您的問題, distutils中不存在find_packages()
,您必須像這樣添加軟件包:
setup(name='package',
version='0.0dev1',
description='blalal',
author='me',
packages=['package', 'package.sub_package', 'package.sub_package2'])
而且,如果您有很多軟件包和子軟件包,則必須編寫一些代碼以創建軟件包列表, 這是Django來源的示例。
我認為使用distutils可以解決您的問題 ,希望對您有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.