簡體   English   中英

Python:pip在根目錄中安裝子軟件包

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM