2014-11-21 46 views
4

我試圖使用命令「python filename.py」通過命令提示符運行.py文件。我已經在安裝python後爲它設置了環境變量,所以當我輸入python時沒有遇到任何錯誤。我正在運行的文件會導入幾個目錄,除了文件web.py外,所有這些目錄都與我運行的文件在同一目錄中預先存在,我無法在目錄中找到它,所以我假設它位於Python包中的某個地方,我已經下載了。但是,我在那裏也找不到它,所以我需要爲web.py文件安裝python擴展才能成功導入,或者有其他解決方法。編譯py文件時沒有命名爲utils的模塊

我已經下載的Python 3.4,我用我的操作系統,我收到確切的錯誤的Windows 7,當我試圖編譯文件

ImportError: No module named 'utils' 

能有人請解釋或直接我一個頁面,詳細顯示如何安裝Python擴展?

+3

請完整引用和[mvce](http://stackoverflow.com/help/mcve)? – matsjoyce 2014-11-21 15:18:54

回答

9

這個問題的答案需要你的一些研究。 Python解釋器在指定的位置查找特定的「.py」文件時會發生特定的錯誤。在你的情況下,它是文件「utils.py」。

訣竅是,雖然,正是WHICH文件試圖導入「utils.py」?你需要做的是,從你的主文件開始,查找你正在導入的所有文件。 (我猜這個問題來自其中一個非庫文件,但我可能是錯的。)

所以,一旦你有「頂級」導入列表,檢查每個文件,看看他們是什麼正在導入,併爲他們重複這個過程。最終,你會發現試圖導入「utils」的.py文件。可能有一個目錄規範強迫Python查找錯誤的地方。

最後,使用Windows的文件管理器,搜索「utils.py」。作爲臨時修復,您可以將其從當前位置複製到您的工作目錄中。這至少可以讓你啓動並運行你的項目,直到你理清真正的原因。

+0

我使用的是Python 3.4版本,朋友曾要求我卸載3.4版本並安裝最新版本2.x.這顯然阻止了錯誤的發生和文件的完美運行,但是你知道爲什麼會出現這種情況。 utils是一個包含在較舊版本python包內的文件,如果是,爲什麼它會在新版本中被刪除,是否有新的utils文件的別名? – 2014-11-23 21:42:10

+0

至此,我仍然無法詳細回答。 'utils'是一個非常通用的名稱,可以應用於任何圖書館。不過,我可以這麼說。 2.X和3.X Python之間的區別非常明顯 - 就像手動變速箱車和自動變速箱之間的區別。試圖在同一時間手動*和*自動生成一輛汽車將是一場噩夢,所以試圖使Python 3與舊的Python 2代碼完全相容。因此,Python 2將繼續得到Python 3的支持和開發。這個想法是讓每個人都有時間將舊代碼升級到Python 3。 – 2014-11-24 15:04:45

3

發生此錯誤的原因是文件/文件夾不在其各自的位置。

我和一個Python Flask Framework應用程序有一個非常類似的錯誤,事實證明我的manage.py和config.py文件在其他文件夾的應用程序文件夾內(它們應該在應用程序目錄之外) ,並在我的情況下導致錯誤。

一旦我將文件放在適當的位置繁榮錯誤消失了。

因此,請檢查您的應用程序框架,並確保它們應該位於的位置。 祝你好運

相關問題