簡體   English   中英

無法導入模塊

[英]Unable to import module

我想學習 Python,因為它看起來不錯,我想和 GTK 一起工作。 我以前的編程經驗是 Java 和 C# 在處理錯誤方面幾乎沒有痛苦。 但是我遇到了 pythons py2exe 的問題,並了解如何調試這個問題。 據我所知,這可能是與版本類型和文件位置有關的設置錯誤,而不是代碼。

我在跑步

  • Windows 7 64 位
  • Python 版本 2.7.2 - 32 位
  • pygtk-all-in-one-2.24.0.win32-py2.7
  • py2exe-0.6.9.win32-py2.7

所有超鏈接都可以在http://pastebin.com/MNGPQVMP看到這是由於 Stackoverflow 只允許我發布 2 個鏈接,但我有很多信息!

我的問題是 python 執行我的基本代碼沒有問題,但是使用 py2exe 會發生錯誤。

為了產生我跑的錯誤

python setup.py py2exe

列表中包含 python 文件、exe 錯誤日志和控制台 output

  • PyApp.py > 查看主鏈接
  • setup.py > 查看主鏈接
  • PyApp.exe.log > 查看主鏈接
  • 運行 py2exe 的控制台 output > 查看主鏈接

我跑了一些額外的信息

python -m py2exe.mf -d PyApp.py 
python -m py2exe.mf -d setup.py

下面列出了兩個命令的 output

  • python -m py2exe.mf -d PyApp.py > 見主鏈接
  • python -m py2exe.mf -d setup.py > 見主鏈接

根據我從 exe 錯誤日志和控制台 output 可以理解的內容,它不能導入 gio(那是 glib 的一部分嗎?)。 額外的模塊列表表明其他錯誤。

PyApp.py 模塊列表中的 gio 錯誤指向 \Python27\lib\site-packages\gtk-2.0\glib\_ init _.py 該文件包含

enter from glib._glib import *
_PyGLib_API = _glib._PyGLib_API
del _glib here

所以看起來可能缺少一些東西。 但是我不太確定

那么如何解決這個導入錯誤呢?

另外作為旁注,Dependency Walker 還聲明缺少 2 個 windows dll。 http://localhostr.com/files/Gf1mXT3/Dependency_Walker..png我有 DLL,但它們是 64 位而不是 32 位,如果我將它們放在目錄中,則 Dependency Walker 會標記 64 位錯誤,但目前這顯然不是問題。

這是一個流行的問題,但我似乎無法使用我所獲得的信息來解決它。

很容易修復。 在你的 setup,py 文件中:你應該有這樣一行:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': '<module names>',
                  }
              },

為了修復錯誤,只需將“gio”添加到“包含”列表中,如下所示:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': 'gio',
                  }
              },

我有一個內置於 pyGTK 的程序,所以我必須導入許多模塊。 僅供參考,我的代碼看起來像這樣:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': 'cairo, pango, pangocairo, atk, gobject, gio, subprocess',
                  }
              },

暫無
暫無

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

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