python - 我的 python 项目中的导入不起作用,我没有找到原因
问题描述
所以这是我的问题。我有一个关于 Python 的个人项目,我通常在 PyCharm 上运行,然后我更喜欢切换到 VSCode。但是现在,我在文件导入上遇到了我不理解的错误。我不记得有修改过导入的内容,我不知道这是否与 IDE 有关,或者是否是一个全球性问题。
所以基本上在我的项目文件的根目录上,我有一个“utils.py”文件,用于存储我认为我需要在我的项目中经常使用的功能。在同一位置(项目根目录),有我启动的主 .py 文件。
我将 utils.py 文件的路径添加到我的 PYTHONPATH 环境变量中,当我在 Python IDLE 上的变量 sys.path 中搜索时,它确实显示了我的项目根路径。
我的 main.py 也设法正确地获得了该导入。
但是,在项目根目录上,我有一个包含 Python 子文件的文件夹,无法访问该文件。就像,根目录有 main.py、utils.py 和 folder/subfile.py
在 main.py 和 subfile.py 上,我添加了“from utils import *”以添加可识别的 utils 导入在 main.py 上,该行没有显示任何错误在 subfile.py 上(在文件夹中),该行出现错误“无法导入 'utils' pylint(import-error)”
TLDR:
- 我的项目根文件夹包含 utils.py、main.py、folder/subfile.py
- utils.py 在我的 PYTHONPATH 环境变量中
- utils.py 导入适用于 main.py
- utils.py 导入对子文件夹中的 subfile.py 不起作用
- (不知道是不是IDE的原因)
解决方案
如果我正确理解这一点,则subfile.py
脚本位于另一个目录中,因此您无法像在其中一样导入,则main.py
需要执行与此答案类似的操作,例如
from ..utils import *
推荐阅读
- python - Python 切换选项卡 - Linux
- python - pexpect.EOF 和 pexpect.TIMEOUT 在 python 中有什么用?
- angular - 角度无限虚拟滚动 minBufferPx 和 maxBufferPx
- flutter - Flutter/Dart:字段“futureAlbum”尚未初始化
- docker - Mac 上的 Docker 卷挂载问题
- python - Matplotlib 安装错误 [Python 3.10]
- python - 使用 Dataframe Pivot 表函数时出错
- streaming - 处理每晚轮换的设备日志文件中的数据
- javascript - 为什么这个对象不能推入 JS 数组?
- react-native - React Native - “任务':app:checkDebugAarMetadata'的执行失败。”