ich ein Skript, das mit vielen Importen wie folgt beginnt:Import Fehler: Keine Modul namens Gemeinsame - Probleme mit py2exe
from reportlab.graphics import shapes
from reportlab.lib.utils import ImageReader
from reportlab.graphics import barcode
from reportlab.lib.units import mm
from reportlab.pdfbase.pdfmetrics import stringWidth
import reportlab.rl_settings
import PIL
from cStringIO import StringIO
import labels
import pyodbc
import pandas
from os.path import expanduser
from time import sleep
import sys
ich massiv mit py2exe kämpfte, um selbst eine ausführbare Datei. Ich habe es schließlich mit dem folgenden Setup-Skript geschafft (das meiste davon wird nur von ähnlichen Problemen kopiert und eingefügt und schlägt auf Stackoverflow vor).
from distutils.core import setup
import distutils
import py2exe
import sys
import zmq
import os
sys.setrecursionlimit(5000)
distutils.core.setup(
options = {
"py2exe": {
"dll_excludes": ["MSVCP90.dll"]
}
},
)
sys.path.append('C:\\WINDOWS\\WinSxS\\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2')
packages=[
'reportlab',
'reportlab.graphics'
'reportlab.lib.utils'
'reportlab.rl_settings'
'reportlab.lib.units'
'reportlabl.pdfbase.pdfmetrics',
],
os.environ["PATH"] = \
os.environ["PATH"] + \
os.path.pathsep + os.path.split(zmq.__file__)[0]
setup(console=[{"script": "working.py"}],
options={
"py2exe": {
"includes":
["zmq.utils", "zmq.utils.jsonapi",
"zmq.utils.strtypes"] } })
Ich bin sicher, mein Skript ist unelegant. Es hat drei zusammenhängende Definierfunktionen und einen Endausgang.
try:
makeyourlabels()
except:
Print "Sorry, something went wrong."
Ich erhalte eine Fehlermeldung, wenn ich die Datei ausführen:
Traceback (most recent call last):
File "working.py", line 3, in <module>
File "reportlab\graphics\barcode\__init__.pyc", line 72, in <module>
File "reportlab\graphics\barcode\__init__.pyc", line 42, in _reset
File "reportlab\graphics\barcode\widgets.pyc", line 162, in <module>
File "reportlab\graphics\barcode\widgets.pyc", line 95, in _BCW
File "reportlab\lib\utils.pyc", line 243, in rl_exec
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
ImportError: No module named common
Wenn jemand einen Sinn für alles machen kann und meine Exe zum Laufen bringen, würde ich immer dankbar!
Cheers B8vrede. Das scheint diesen speziellen Fehler gelöst zu haben, aber ich bekomme nur einen weiteren Fehler mit einem anderen fehlenden Modul als Teil des Reportlab-Pakets. Gibt es etwas, was ich tun kann, um alle notwendigen Module zu importieren? –
Ich denke, das beste für Ihren Fall ist, um sicherzustellen, dass Ihre Importe spezifisch sind, also nicht von reportlab.graphics Formen importieren, sondern von reportlab.graphics.shapes Zeichnungen importieren (oder was auch immer Sie von Shapes benötigen). Dies verhindert das Laden aller Arten unnötiger Klassen, die alle Abhängigkeiten aufweisen, die zu Importfehlern führen können. – B8vrede
Ich werde es versuchen. Ich importiere das Paket pylabels (https://github.com/bcbnz/pylabels), also hoffe ich, dass es dort nichts gibt, das Funktionen importiert, die Probleme verursachen könnten. –