2016-05-28 46 views
-4

我不知道是什麼原因導致了這個錯誤,這是最簡單的,因爲我可以得到,但是這讓我暗示我的問題不符合他們的質量標準,所以我必須發佈這個更長的介紹。「no module named ...」當運行這個python代碼

#=== 
# my_script.py 
import myModule 

#=== 
# myModule\__init__.py 
import sys 
from my_def import * 

class MyModule: 
    def __init__(self): 
    pass 

#=== 
# myModule\my_def.py 
def my_def(): 
    pass 

Traceback (most recent call last): 
    File "my_script.py", line 1, in <module> 
    import myModule 
    File "D:\test\myModule\__init__.py", line 2, in <module> 
    from my_def import * 
ImportError: No module named 'my_def' 
+0

幾分鐘前你不問這個確切的問題嗎? [是](http://stackoverflow.com/q/37501932/3001761),並不像你已經改進了很多;這不僅僅是一個需要更長的介紹,它是解釋問題的一個介紹。 – jonrsharpe

+0

確保您的['PYTHONPATH'](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH)包含模塊的路徑。 – Jens

回答

1

__init__.pymy_def之前添加..意味着它應該在與腳本本身相同的文件夾中查找文件,而不是相對於my_script.py

from .my_def import * 
1

你可以試試這個:

sys.path.append("path_of_script")