2017-01-25 171 views
3

我正嘗試從文件classes.py中導入*。我的目錄如下導入模塊時未找到錯誤

mypkg 
├── main.py 
├── classes.py 

當我嘗試

from classes import * 

它不承認階級。查看它我看到我應該使用明確的導入

from .classes import * 

它確實承認類,但當我嘗試運行它時會給出下面的錯誤。

ModuleNotFoundError: No module named '__main__.classes'; '__main__' is not a package 

有關該做什麼以及爲何發生這種情況的任何建議將非常感激。

+0

如何以及從哪個目錄運行代碼? –

回答

1

對於python到一個文件夾識別爲一個包,你需要一個__init__.py文件吧:

mypkg 
├── __init__.py 
├── main.py 
├── classes.py 

其中python調用該目錄也很重要(從包文件夾中運行不同的是從運行外面),並且還有PYTHONPATH環境變量。

python documentation作爲import和包系統的一節,有很好的解釋。