我在Windows上使用64位Python 2.7。當我建立與cx_Freeze的可執行文件,然後運行它,我得到一個錯誤窗口(,替代真實姓名):cx_Freeze和networkx的問題
---------------------------
cx_Freeze: Python error in main script
---------------------------
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec(code, m.__dict__)
File "ui.py", line 8, in <module>
File "C:\Users\<dir_name>\<file_name>.py", line 3, in <module>
import networkx as nx
File "C:\Python27\lib\site-packages\networkx\__init__.py", line 87, in <module>
import networkx.readwrite
File "C:\Python27\lib\site-packages\networkx\readwrite\__init__.py", line 14, in <module>
from networkx.readwrite.gml import *
File "C:\Python27\lib\site-packages\networkx\readwrite\gml.py", line 46, in <module>
from lib2to3.refactor import RefactoringTool
File "C:\Python27\lib\lib2to3\refactor.py", line 27, in <module>
from .fixer_util import find_root
File "C:\Python27\lib\lib2to3\fixer_util.py", line 9, in <module>
from .pygram import python_symbols as syms
File "C:\Python27\lib\lib2to3\pygram.py", line 32, in <module>
python_grammar = driver.load_grammar(_GRAMMAR_FILE)
File "C:\Python27\lib\lib2to3\pgen2\driver.py", line 121, in load_grammar
g = pgen.generate_grammar(gt)
File "C:\Python27\lib\lib2to3\pgen2\pgen.py", line 385, in generate_grammar
p = ParserGenerator(filename)
File "C:\Python27\lib\lib2to3\pgen2\pgen.py", line 15, in __init__
stream = open(filename)
IOError: [Errno 2] No such file or directory: 'C:\\Users\\<dir_name>\\build\\exe.win-amd64-2.7\\library.zip\\lib2to3\\Grammar.txt'
---------------------------
OK
---------------------------
的文件不在存檔,但如果我在構建後手動添加它,它仍未找到。看起來像一條路徑(反斜槓?)問題。
有人知道如何解決這個問題嗎?
另外:你認爲用pyinstaller可以更好地解決這類問題嗎?我選擇cx_Freeze的原因是pyinstaller本身的安裝看起來很平淡,而cx_Freeze是一個單一的whl。
最簡單的解決方案。謝謝! –