我想在项目中导入一个模块,但由于导入错误,它给我带来了很多麻烦。所以我决定写一个小测试,看看问题出在哪里。我将一个文件夹添加到我的系统路径并尝试导入它。我得到了一个Import Error: no module found named xyz
喜欢这个:
import sys
import os
sys.path.insert(0, os.path.abspath('../../myfolder'))
import myfolder
print(sys.path)
系统路径['/Users/myuser/myproject/mywebsitefolder/myfolder/', ...]
myfolder
包含一个__init__.py
文件。对 myfolder 的路径进行硬编码具有相同的结果。网络上的其他问题通过添加正确的路径或添加 init 来解决问题。但我两者都有,问题仍然存在。
我的印象是python在系统路径中查找可导入模块,还是我误解了它应该如何工作?
如果我理解正确,有什么方法可以进一步调试吗?或者这可能是 python 版本的问题?
非常感谢帮助。提前感谢!
编辑:这是我的目录结构
- 我的网站文件夹
- 我的文件夹
- api_supply 测试
- (包含我的所有测试以及许多文件(
- 初始化.py
- serializers.py
- urls.py
- views.py
- api_demand 测试
- (包含我的所有测试以及许多文件(
- 初始化.py
- serializers.py
- urls.py
- views.py
- 迁移(文件夹(
- 模板(文件夹(
- 初始化.py
- admin.py
- apps.py
- models.py
- tests.py
- urls.py
- views.py
- api_supply 测试
- 我的文件夹
将代码替换为此内容 您不需要将文件夹添加到路径中 您所需要的只是文件夹的路径
import sys
import os
sys.path.insert(0, os.path.abspath('../../'))
import myfolder
print(sys.path)