簡體   English   中英

從文件夾導入時出現Python“找不到模塊”錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM