2013-03-24 77 views
-3

我開始學習Python, 但是當我嘗試從粥文件導入模塊我得到這個錯誤:蟒蛇:導入錯誤:沒有模塊名爲

Traceback (most recent call last): 
File "./test", line 4, in <module> 
    from multip import table 
ImportError: No module named multip 

的兩個文件都在同一個目錄

當我輸入比如 '數學' 或 'OS' 這是工作模塊

,該probleme是文件之間

操作系統:Ubuntu的12.04

Python版本:3.2.3蟒

+0

你可以發佈你的目錄中的源文件的名稱?你有一個名爲multip.py的文件嗎? – svk 2013-03-24 12:34:47

+0

@ user2204411你需要發佈目錄佈局,似乎你的代碼應該工作,除非有一些重要的細節丟失 – wRAR 2013-03-24 14:24:24

+0

@ wRAR/home/me/test ... /home/me/multip ... /home/me/_init_.py ... drwxr-xr-x me .... with ubuntu我不需要.py對不對? – Learner 2013-03-24 14:47:41

回答

0

您可以只導入有.py擴展名的文件。 (或其中有__init__.py文件的目錄)。

+0

我嘗試了兩種方式,但沒有任何 現在我有/home/me/test.py&/home/me/multip.py&/home/me/_init_.py – Learner 2013-03-24 15:25:50

+0

@ user2204411 with'from multip import table' ? – wRAR 2013-03-24 15:33:25

+0

沒有from .multip.py import table&with from .multip import table – Learner 2013-03-24 15:38:49

-1

編輯:我不知道修改PYTHONPATH環境被認爲是一種不好的做法。 @wRAR給出的理由是它具有永久效應,可以產生不受控制的副作用。您最好嘗試第一個命題(sys.path.append)來查看它是否可以解決您的問題。更多關於sys.path.append VS PYTHONPATH可以在這個主題中找到:PYTHONPATH vs. sys.path


是不是它關係到你PYTHONPATH環境在變?如果你添加'。'或目錄被你的工作,我想這應該是確定

在你的shell:

出口PYTHONPATH =:$ PYTHONPATH 蟒蛇test.py

或(測試的目的,而不是可以在你的Python文件系統使用):

import sys 
sys.path.append(".") 
+0

修改它通常是錯誤的想法PYTHONPATH即使有幫助。在這種情況下,它將無濟於事。 – wRAR 2013-03-24 13:34:34

+0

你能否詳細說明一下?我還沒有找到任何參考資料,在當前路徑中添加存儲庫被認爲是不好的做法。我同意sys.path.append是一個不好的做法,這就是爲什麼我指定它僅用於測試目的,而不是PYTHONPATH。 – Dvx 2013-03-24 14:30:50

+0

將隨機目錄添加到全局PYTHONPATH中是錯誤的,因爲如果您不控制添加的內容,會導致一些細微問題。在運行某些程序的shell封裝器中更改PYTHONPATH,由於某些原因未將其模塊安裝到公共路徑中,但是可以通過修改主腳本中的sys.path來替換。 – wRAR 2013-03-24 14:41:12

相關問題