web-dev-qa-db-ja.com

setup.pyのpackage_dirとパッケージ設定について混乱しています

これが私のプロジェクトディレクトリ構造です。これには、プロジェクトフォルダと、プロジェクトフォルダと同じ階層のレベルにある複数のプロジェクト間で共有されるパッケージとモジュールを含む「フレームワーク」フォルダが含まれます。

--------------------------------------------------------------
Framework/
    package1/
        __init__.py
        mod1.py
        mod2.py
    package2/
        __init__.py
        moda.py
        modb.py

My_Project/
    src/
        main_package/
             __init__.py
             main_module.py
    setup.py
    README.txt
--------------------------------------------------------------

これが私のsetup.pyファイルの内容の部分的なリストです:

--------------------------------------------------------------
from distutils.core import setup

setup(packages=['package1',
        'package2.moda',
        'main_package'],
    package_dir={'package1': '../Framework/package1', 
        'package2.moda': '../Framework/package2', 
        'main_package': 'src/main_package'})

--------------------------------------------------------------

ここに問題があります:

  1. Distまたはbuildディレクトリは作成されません

  2. マニフェストファイルが作成されますが、「moda.py」モジュールだけでなく、package2のすべてのモジュールが一覧表示されます。

  3. ビルドは次のエラーで終了します:README.txt:関数が正しくありません

単一の問題(おそらくディレクトリ構造に関連する)があるのか​​、複数の問題があるのか​​はわかりませんが、Pythonアプリケーションの配布で見つけることができるすべてを読みました。私は困惑しています。

18
Steve Sawyer

IIUCは、package_dir内のパスが、Pythonパッケージであるディレクトリの親ディレクトリで停止する必要があります。IOWはこれを試してください:

package_dir={'package1': '../Framework', 
             'package2': '../Framework', 
             'main_package': 'src'})
4
Éric Araujo