Sys.path.insert 插入模块路径但导入不起作用
Sys.path.insert inserts path to module but imports are not working
我想在项目中导入一个模块,但由于导入错误给我带来了很多麻烦。所以我决定写一个小测试看看问题出在哪里。我将一个文件夹添加到我的 sys 路径并尝试导入它。我得到一个 Import Error: no module found named 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.d来解决的。但我认为两者都有,问题仍然存在。
我的印象是 python 在系统路径中查找可导入模块,或者我误解了它应该如何工作?
如果我没理解错的话,有什么方法可以进一步调试吗?或者这可能是 python 版本的问题?
非常感谢您的帮助。提前致谢!
编辑:这是我的目录结构
- 我的网站文件夹
- 我的文件夹
- api_supply
- 测试(包含我所有的测试文件)
- init.py
- serializers.py
- urls.py
- views.py
- api_demand
- 测试(包含我所有的测试文件)
- init.py
- serializers.py
- urls.py
- views.py
- 迁移(文件夹)
- 模板(文件夹)
- init.py
- admin.py
- apps.py
- models.py
- tests.py
- urls.py
- views.py
替换代码,因为您不需要将文件夹添加到路径,您只需要文件夹的路径
import sys
import os
sys.path.insert(0, os.path.abspath('../../'))
import myfolder
print(sys.path)
我想在项目中导入一个模块,但由于导入错误给我带来了很多麻烦。所以我决定写一个小测试看看问题出在哪里。我将一个文件夹添加到我的 sys 路径并尝试导入它。我得到一个 Import Error: no module found named 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.d来解决的。但我认为两者都有,问题仍然存在。
我的印象是 python 在系统路径中查找可导入模块,或者我误解了它应该如何工作?
如果我没理解错的话,有什么方法可以进一步调试吗?或者这可能是 python 版本的问题?
非常感谢您的帮助。提前致谢!
编辑:这是我的目录结构
- 我的网站文件夹
- 我的文件夹
- api_supply
- 测试(包含我所有的测试文件)
- init.py
- serializers.py
- urls.py
- views.py
- api_demand
- 测试(包含我所有的测试文件)
- init.py
- serializers.py
- urls.py
- views.py
- 迁移(文件夹)
- 模板(文件夹)
- init.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)