我想在项目中导入一个模块,但由于导入错误给我带来了很多麻烦。所以我决定写一个小测试来看看问题出在哪里。我将一个文件夹添加到我的系统路径并尝试导入它。我收到一个导入错误:找不到名为 xyz 的模块
像这样:
import sys
import os
sys.path.insert(0, os.path.abspath('../../myfolder'))
import myfolder
print(sys.path)
sys.path 为 ['/Users/myuser/myproject/mywebsitefolder/myfolder/', ...]
myfolder
包含一个 __init__.py
文件。将路径硬编码到 myfolder 具有相同的结果。网上的其他问题通过添加正确的路径或添加 init 来解决问题。但我认为两者都有,问题仍然存在。
我的印象是 python 在系统路径中查找可导入模块,或者我是否误解了它应该如何工作?
如果我理解正确的话,有什么办法可以进一步调试这个吗?或者这可能是 python 版本的问题?
非常感谢您的帮助。提前致谢!
编辑:这是我的目录结构
- 我的网站文件夹
- 我的文件夹
- api_supply
- 测试(包含我的所有测试和许多文件)
- init.py
- 序列化器.py
- url.py
- views.py
- api_需求
- 测试(包含我的所有测试和许多文件)
- init.py
- 序列化器.py
- url.py
- views.py
- 迁移(文件夹)
- 模板(文件夹)
- init.py
- admin.py
- apps.py
- 模型.py
- 测试.py
- url.py
- views.py
- api_supply
- 我的文件夹
最佳答案
替换代码,因为您不需要将文件夹添加到路径中,您需要的只是文件夹的路径
import sys
import os
sys.path.insert(0, os.path.abspath('../../'))
import myfolder
print(sys.path)
关于python - Sys.path.insert 插入模块路径,但导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990164/