2017-07-19 472 views
0

當我試圖在我的項目目錄中的一個文件夾中導入一個文件作爲一個包時,我遇到了「模塊未找到」的錯誤。我已經嘗試了幾個解決方案從Stackoverflow的答案,但沒有人爲我工作。這裏是發生了什麼事情,什麼我已經試過:從文件夾導入時出現Python「module not found」錯誤?

我在暢達環境devenv工作的燒瓶中的項目,使用PyCharm,並有一個項目目錄是這樣的:

/some/path/project_root/ migrations/ static/ templates/ reporting/ __init__.py code.py tests.py

裏面的tests.py文件有import語句導入code.py作爲一個模塊:

from .code import my_function

然而,當我跑(devenv) [email protected]:project_root$ > python reporting/tests.py

我得到的錯誤:ModuleNotFoundError: No module named '__main__.code'; '__main__' is not a package

我試圖追加項目目錄路徑$ PYTHONPATH,和echo $PYTHONPATH回報/some/path/project_root/

什麼我需要配置得到這個正常工作?另外,無論我需要更改哪些設置,我可以針對我正在使用的開發環境設置這些設置嗎?

回答

0

變化from .code import my_function變爲from code import my_function。包的頂層由具有__init__.py文件的最高文件夾定義。因此,您項目的頂層是reporting文件夾,並且code.py不需要是相對導入。最好避免相對導入,或者得到一個像PyCharm這樣的編輯器來幫你處理它!

+0

你也可以嘗試運行'python -m reporting.tests.py',但這可能會給你另一個錯誤! – vahndi

相關問題