1
我有開始喜歡這個有很多進口腳本的問題:導入錯誤:沒有模塊命名公共 - 與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
我與py2exe大量努力甚至讓一個可執行文件。我終於用下面的安裝腳本管理它(其中大部分只是從類似的問題複製和粘貼,並建議在stackoverflow)。
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"] } })
我確定我的腳本不雅。它有三個連接的定義函數和一個最終輸出。
try:
makeyourlabels()
except:
Print "Sorry, something went wrong."
當我運行該文件,我得到一個錯誤:
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
如果任何人都可以做的這一切任何意義,讓我的.exe文件運行時,我將是有史以來不勝感激!
乾杯B8vrede。這似乎解決了這個特定的錯誤,但我只是另一個錯誤,作爲reportlab軟件包的一部分,另一個缺失的模塊。我能做些什麼來導入所有必要的模塊? –
我認爲你的情況最好的辦法是確保你的導入是特定的,所以不是'從reportlab.graphics導入形狀',而是'從reportlab.graphics.shapes導入繪圖'(或任何你需要的形狀)。這可以防止加載所有不必要的類,這些類都有可能導致導入錯誤的依賴關係。 – B8vrede
我會試試看。我導入包pylabels(https://github.com/bcbnz/pylabels),所以我希望沒有任何內容導入可能導致問題的函數。 –