2011-05-15 88 views
0

我已經對這個問題做了一些研究,似乎沒有任何解決方法,我懷疑我可能會意外地循環導入某處,但是這個難倒了我。Python導入錯誤(無法導入名稱變量)

這個包是一個Python IRC服務框架。動態加載模塊時(通過imp.load_source()),並且新模塊嘗試從src文件夾(Variables.py)導入某些內容時會發生此問題。它以「無法導入名稱變量」失敗,但它從同一目錄導入另一個模塊而沒有投訴。

下面是具體的錯誤:

**ERROR: ModLoad(): Unable to load module /home/sam/workspace/Affinity/bin/../modules/ircd_affinity.py: cannot import name Variables **

這是模塊/ ircd_affinity.py完整的文件:ircd_affinity.py,和src/Variables.py:Variables.py

如果有幫助。瀏覽整個存儲庫...(https://github.com/miniCruzer/Affinity/blob/master/src/Affinity.py)模塊(從行)加載模塊。

如果所有回覆都與手邊的具體問題保持相關,我將不勝感激。是的,在整個整個包裹中,我可能會暗示我做錯了或其他事情 - 我歡迎您提出建議:請將它們通過電子郵件發送給我。

+0

就像一個調試策略一樣,你是否曾嘗試將src重命名爲更獨特的東西,然後嘗試使用新名稱導入?也許有可能它正在尋找一個不同的「src」模塊。 「客戶」也很常見。 – Karim 2011-05-15 02:46:06

+0

剛剛嘗試過,我將'src'重命名爲'herp',它給了我同樣的錯誤,所以它確實在查看正確的目錄。 – miniCruzer 2011-05-15 02:47:57

+0

好的。另一種可能性是在導入變量模塊期間發生了一些錯誤。如果您從「Variables.py」文件中刪除了所有內容,它會正確導入嗎?如果是這樣,那麼這只是一個重新添加一點點的問題,以查看是什麼導致了問題。 – Karim 2011-05-15 03:10:51

回答

0

顯示完整的回溯。通過它看看證據(企圖)循環導入。

使用-v選項運行Python ...這是什麼告訴你的?

看錯誤發生之前sys.pathsys.modules的內容。

「**錯誤:ModLoad():無法......」看起來不是一行Python引發的錯誤。這是在你的代碼?如果是這樣,深入挖掘;爲什麼會升起?

相關問題