Sys.path.insert插入模块的路径,但导入不起作用



我想在项目中导入一个模块,但由于导入错误,它给我带来了很多麻烦。所以我决定写一个小测试,看看问题出在哪里。我将一个文件夹添加到我的系统路径并尝试导入它。我得到了一个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

将代码替换为此内容 您不需要将文件夹添加到路径中 您所需要的只是文件夹的路径

import sys
import os
sys.path.insert(0, os.path.abspath('../../'))
import myfolder
print(sys.path)

相关内容

  • 没有找到相关文章

最新更新