我想在项目中导入一个模块,但由于导入错误给我带来了很多麻烦。所以我决定写一个小测试来看看问题出在哪里。我将一个文件夹添加到我的系统路径并尝试导入它。我得到一个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 版本的问题?
非常感谢您的帮助。提前致谢!
编辑:这是我的目录结构
- mywebsitefolder
- myfolder
- api_supply
- 测试(包含我所有的测试和许多文件)
-
init.py
- 序列化器.py
- urls.py
- views.py
- api_demand
- 测试(包含我所有的测试和许多文件)
-
init.py
- 序列化器.py
- urls.py
- 视图.py
- 迁移(文件夹)
- 模板(文件夹)
-
init.py
- admin.py
- apps.py
- 模型.py
- tests.py
- urls.py
- views.py
替换代码,因为您不需要将文件夹添加到路径中,您需要的只是文件夹的路径
import sys
import os
sys.path.insert(0, os.path.abspath('../../'))
import myfolder
print(sys.path)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)