[英]Python “module not found” error when importing from folder?
嘗試將項目目錄中文件夾中的文件作為包導入時,我遇到了“找不到模塊”錯誤的常見問題。 我已經嘗試了 Stackoverflow 答案中的幾種解決方案,但沒有一個對我有用。 這是發生了什么,以及我嘗試過的:
我在一個 Flask 項目的 conda 環境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) me@comp:project_root$ > python reporting/tests.py
我收到錯誤: ModuleNotFoundError: No module named '__main__.code'; '__main__' is not a package
ModuleNotFoundError: No module named '__main__.code'; '__main__' is not a package
我嘗試將項目目錄路徑附加到 $PYTHONPATH,並且echo $PYTHONPATH
返回/some/path/project_root/
我需要配置什么才能使其正常工作? 此外,無論我需要更改什么設置,我是否可以針對我正在使用的開發環境進行這些設置?
將from .code import my_function
更改為from code import my_function
。 包的頂層由具有__init__.py
文件的最高文件夾定義。 所以你的項目的頂層是reporting
文件夾, code.py
不需要是相對導入。 最好要么避免相對導入,要么得到一個像 PyCharm 這樣的編輯器來為你處理它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.