由于某种原因,在 中工作时PyCharm,我没有像在 中那样经常遇到导入问题VS Code。这似乎是由于我使用了包管理器pdm,它仔细地将项目的父目录指示为工作目录,并向解释器指示Python它可以浏览哪些目录以及在导入时在哪里查找必要的模块。如果我错了,请纠正我。
最近我开始使用IDE VS Code包管理器poetry。现在,以下项目结构出现了导入问题:
project_directory
|
+--app
|
+-- A
+-- module_A.py
+-- utils
+-- __init__.py
+-- delay.py
delay.py因此,如果我尝试通过module_A.py以下方式从模块导入函数
from app.utils.delay import function_delay
出现以下错误
ModuleNotFoundError: No module named 'app'
绝对导入和相对导入都没有帮助,但sys.path我不想诉诸它们,因为这很尴尬。
是否可以pyproject.toml以某种方式指定项目父目录的路径,以便解释器最终了解要查找的位置并可以正常识别位于项目内部的目录?或者也许还有另一种方法可以在设置中指定它VS Code?
如果您知道为什么 Python 中的导入通常会出现问题吗?