2016-01-06 14 views
14

Ich habe versucht, eine ausführbare Datei für ein einfaches Python-Skript zu generieren. Mein setup.py Code sieht so aus:Importfehler mit py2exe

from distutils.core import setup 
import py2exe 
setup(console=["script.py"]) 

Allerdings bekomme ich den Fehler auf dem Screenshot angezeigt. Gibt es etwas, was ich versuchen könnte, das zu beheben? Ich benutze Windows 10.

enter image description here

+0

benötigen, beispielsweise die Projektdatei Strukturen. Aber versuche den py2exe Pfad zu deinem PYTHONPATH hinzuzufügen? – BAE

Antwort

6

Es scheint, dass in Ihrem mf3.py Sie sind importing beyond the top level.

Nehmen wir an, dass Ihre Projektstruktur ist wie folgt:

folder/ 
main.py 
mod/ 
    __init__.py 
    components/ 
     __init__.py 
     expander.py 
     language_id.py 
    utilities/ 
     __init__.py 
     functions.py 

zunächst sicherstellen, dass

main.py den Subpackages bezieht sich wie:

from mod.components.expander import * 
from mod.utilities.functions import * 

expander.py und language_id.py Zugang mit bis zu functions.py haben:

from ..utilities.functions import *

hinzufügen Optionen zu Ihrem setup.py

Sie können auch mehr py2exe options verwenden, um, dass Sie importieren alle Module und Pakete, die für Ihr Projekt benötigt werden. Z.B.

# setup.py 
from distutils.core import setup 
import py2exe 
setup(console=["script.py"], 
     options={ 
       "py2exe":{ 
        "optimize": 2, 
        "includes": ["mf1.py", "mf2.py", "mf3.py"], # List of all the modules you want to import 
        "packages": ["package1"] # List of the package you want to make sure that will be imported 
       } 
     } 
    ) 

Auf diese Weise können Sie den Import des fehlenden Skript Ihres Projekts weitere Informationen erzwingen