我正在使用Python和Flask构建Web应用程序,Flask部分与我的问题无关。
我正在努力的是Python import
。我发现了以下内容:仅当文件位于同一目录中时,我才能将文件作为模块导入;当我位于子目录中时,可以从目录外部导入文件,但不能反向导入文件。我有这样的目录结构:
Project
|-src
|- templates
|- utils
|- blueprints
|- app.py
我面临的主要问题是从IDE PyCharm或从命令行运行它时的区别。
我正在通过以下方式导入文件import src.utils.distanceConverter
它可以从我的IDE正常运行,但是一旦从命令行运行它,我就会收到以下导入错误:
ModuleNotFoundError:没有名为“ src”的模块
因此,我从PyCharm的两个命令行中都删除了'src'部分,并且工作正常。仍然很奇怪的是,PyCharm一直抱怨模块utils
不存在。
因此,除了这并不是真正的问题外,这是来自PyCharm的导入系统与来自Python本身的导入系统不一致的事实。因此,有一种方法可以告诉Python这不是问题,什么是导致此问题的原因。我认为它在我的IDE配置中,但是我是PyCharm的新手,因为我习惯于从VScode编码Python。