簡體   English   中英

python3.4中沒有名為'cx_Freeze.util'的模塊--- cxFreeze

[英]No module named 'cx_Freeze.util' ---cxFreeze in python3.4

我正在嘗試在安裝了python2和python3.4的Ubuntu 32位中使用cxFreeze4.3.3(從sourceforge下載)。 起初我跑了

python3.4 cxfreeze --help

並按要求打印了幫助。 然后我跑了

python3.4 cxfreeze /home/lz/dev/test/interface.py

引發異常:

cx_Freeze.freezer.ConfigError: no base named Console

最后我指定了基本名稱:

python3.4 cxfreeze --base-name=/home/lz/dev/test/interface.py /home/lz/dev/test/interface.py

File "cxfreeze", line 5, in <module>
    main()
  File "/home/lz/cx_Freeze-4.3.3/cx_Freeze/main.py", line 188, in main
    freezer.Freeze()
  File "/home/lz/cx_Freeze-4.3.3/cx_Freeze/freezer.py", line 599, in Freeze
    import cx_Freeze.util
ImportError: No module named 'cx_Freeze.util'

之后,我從debian包中復制了util.so。

ImportError: /home/lz/cx_Freeze-4.3.3/cx_Freeze/util.so: undefined symbol: Py_InitModule4

更新 :我嘗試從util.c編譯util.so,引發錯誤:找不到“ Python.h”

我將#include替換為#include“ python3.4 / Python.h”或#include“ python2.7 / Python.h”,但引發了更多錯誤:

/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o:In function‘_start’:
(.text+0x18):‘main’ undefined reference
/tmp/ccMQ0pWq.o:In function‘ExtSetOptimizeFlag’:
util.c:(.text+0xa):‘Py_OptimizeFlag’ undefined reference
util.c:(.text+0x1d):‘PyArg_ParseTuple’ undefined reference
util.c:(.text+0x2d):‘_Py_NoneStruct’ undefined reference
util.c:(.text+0x35):‘_Py_NoneStruct’ undefined reference
util.c:(.text+0x3a):‘_Py_NoneStruct’ undefined reference 
/tmp/ccMQ0pWq.o:In function ‘Module_Initialize’:
util.c:(.text+0x56):‘PyModule_Create2’ undefined reference
Compiling failed
collect2: error: ld returned 1 exit status

由於PyQt5僅在python3中可用,因此我必須使用python3,並且據說cxFreeze是唯一支持python3的工具。 cxFreeze debian軟件包在python2中運行良好。

我非常感謝您的幫助。

好了,我已經解決了這個問題。以下是步驟:

  1. http://sourceforge.jp/projects/sfnet_cx-freeze/downloads/4.3.3/cx_Freeze-4.3.3.tar.gz/下載cx_freeze源並提取文件
  2. 將setup.py:line 79修改為if True:
  3. 運行sudo python3.4 setup.py install然后一切正常。

感謝@TomasK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM