2013-06-17 4 views
12

Hier ist meine Projektverzeichnisstruktur, die den Projektordner enthält, plus ein "Framework" Ordner mit Paketen und Modulen unter mehreren Projekten , die auf der gleichen Ebene befindet sich in die Hierarchie wie die Projektordner:Verwirrt über die Einstellungen package_dir und packages in setup.py

-------------------------------------------------------------- 
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 
-------------------------------------------------------------- 

Hier ist eine unvollständige Liste des Inhalts meiner setup.py-Datei:

-------------------------------------------------------------- 
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'}) 

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

Hier sind die Themen:

  1. Kein dist oder bauen Verzeichnisse erstellt

  2. Manifest-Datei erstellt wird, aber alle Module in package2 aufgeführt sind, nicht nur die "moda.py" Modul

  3. Der Build mit einem endet Fehler: README.txt: Falsche Funktion

ich weiß nicht, ob ich eine einzelne Ausgabe (möglicherweise zu meinem Verzeichnis struture verwandt) oder wenn ich mehrere sind verklagt, aber ich habe alles gelesen, was ich über die Verteilung von Python-Anwendungen finden kann, und ich bin ratlos.

Antwort

1

IIUC korrekt die Pfade in package_dir sollten im übergeordneten Verzeichnis der Verzeichnisse, die Python-Pakete sind, stoppen. IOW versuchen Sie dies:

package_dir={'package1': '../Framework', 
      'package2': '../Framework', 
      'main_package': 'src'}) 
+0

Es scheint, dass ich es als { 'package1': '../Framework/package1' , 'package2':' ../Framework/package2' } angeben müssen Sonst bekomme ich Fehler, die sich beschweren, dass es keine __init__.py Datei gefunden hat. Ich habe auch immer einen Fehler bekommen, wie oben erwähnt - die Ausgabe endet mit Fehler: my_project-1.0 \ README.txt: Falsche Funktion Wenn ich die Datei README.txt entfernen, erhalte ich eine Warnung, dass es fehlt, aber immer noch einen Fehler: Fehler: My_Project-1.0 \ Setup.py: Falsche Funktion –