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

2023-11-26

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

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

随机推荐

  • 播种default_random_engine?

    我使用的是 Visual Studio 2010 不支持
  • 如何编写 cpp __DIR__ 宏,类似于 __FILE__

    The FILE and LINE 宏内置于C预处理器 通常用于打印带有文件名和行号的调试输出 我需要类似的东西 但只有路径末尾的目录名称 例如 如果我的代码位于 home davidc some path to some code foo
  • Mobile safari 对大图像进行下采样。如何挽留?

    我有一个 HTML 页面 其中包含 1675 像素 x 2640 像素的图像 我尝试在 iPad 上查看它 显然移动 safari 降低了图像的采样率 我们想要展示高质量的图像 但 Safari 限制了这一点 我一直在寻找保留图像大小的解决
  • Java中文件名的编码

    我正在嵌入式 Linux 平台上运行一个小型 Java 应用程序 将Java VM JamVM替换为OpenJDK后 带有特殊字符的文件名无法正确存储 特殊字符 如变音符号 将替换为问号 这是我的测试代码 import java io Fi
  • 为什么反应本机项目是在打字稿中创建的?我想要app.js

    我是 React Native 的初学者 我正在使用 React Native CLI 创建一个 React Native 项目 但项目是使用 app ts 创建的 我想在 javascript 版本中创建项目 我尝试过 React Nat
  • 多重继承不明确的基类

    考虑代码 struct Base struct Derived public Base struct A public Base struct B public A public Base struct C public A public
  • 如何限制 jQuery 事件的回调?

    好的 所以我像在谷歌中一样进行搜索 您在输入中键入文本 它会立即为您提供条目 但我不喜欢这样 我用类似的东西 TEXTINPUT keyup function 当用户输入速度非常快时 它会多次连接到数据库 是否有可能 只有当用户停止输入 1
  • 等待 Workbook.RefreshAll() (C#)

    我想循环遍历一个目录 使用 C 并刷新其中的所有 Excel 工作表 我用 Workbook RefreshAll 我该如何等待Workbook RefreshAll 声明结束 问题是 我打开FileA then Workbook Refr
  • 一个 Java 类中最多可以使用多少个 lambda?

    这是一个纯粹概念性的问题 Java 8 中的 Lambda 被转换为使用以下方式调用的方法invokedynamic 如果 JVM 对一个类可以拥有的最大方法数有限制 这是否意味着一个类中使用的 lambda 最大数量也受到 JVM 的严格
  • 使用 redux 时,应该如何在 React 组件中处理取消订阅?

    在我的组件中 我有以下内容 componentWillMount function this unsubscribe store subscribe function this setState message store getState
  • 如何将Scala Squeryl ORB与play 2.0框架集成?

    我正在尝试将 Squeryl ORB 与 play 2 0 框架一起使用 但是在调用时DB getConnection 在初始化期间我得到 BadPath 路径参数 无效路径 找不到defaultdb的数据源 路径表达式中不允许使用令牌 如
  • 从 device_vector 中删除元素

    推力 device vector 值 推力 device vector 键 初始化后 keys包含一些等于 1的元素 我想删除键中和值相同位置的元素 但不知道并行如何处理 可能有很多方法可以做到这一点 一种可能的方式 使用模板版本thrus
  • Android WebSocket 服务进行多个连接

    我创建了一个 Web 套接字服务 但它不断建立多个连接 我只希望应用程序建立一个连接 除非网络连接断开然后建立另一个连接 但现在 如果我按下手机上的主页按钮 它就会建立一个连接 然后返回应用程序 它将建立另一个连接 谢谢你们的帮助 在创建
  • GNU Parallel:将文件拆分为子文件

    Goal 使用 GNU Parallel 将大 gz 文件拆分为子文件 由于服务器有 16 个 CPU 因此创建 16 个子级 每个子项最多应包含 N 行 这里 N 104 214 420 行 子项应采用 gz 格式 输入文件 名称 fil
  • 获取字符串“600sp”整数部分的最佳方法?

    我有一个字符串 比如 600sp 我希望从中获取整数部分 600 If I do Integer valueOf 600sp 由于字符串中遇到非数字值 s 我收到异常 获取整数部分最快最干净的方法是什么 Thanks 如果您的字符串格式始终
  • 如何在带有参数的 Swift 块中正确处理 Weak Self

    In my TextViewTableViewCell 我有一个变量来跟踪块和一个配置方法 其中块被传入并分配 这是我的TextViewTableViewCell class TextViewTableViewCell swift impo
  • 启用急切执行时不支持 tf.gradients。使用 tf.GradientTape 代替

    from tensorflow keras applications import VGG16 from tensorflow keras import backend as K model VGG16 weights imagenet i
  • rake db:migrate 产生“rake 中止!找不到表”错误

    我是 Rails 新手 正在为我的雇主构建一个简单的项目跟踪应用程序 我一直在我的 Mac 上开发该应用程序并将其推送到 github 我刚刚设法将我的 github 存储库克隆到公司防火墙后面的 Windows 盒子上 希望让同事试用该应
  • 如何在运行时创建任意数组类型的实例?

    我试图在编译时反序列化未知类型的数组 在运行时我发现了该类型 但我不知道如何创建实例 就像是 Object o Activator CreateInstance type 这不起作用 因为没有无参数构造函数 Array 似乎没有任何构造函数
  • Sys.path.insert 插入模块路径,但导入不起作用

    我想在项目中导入一个模块 但由于导入错误给我带来了很多麻烦 所以我决定写一个小测试来看看问题出在哪里 我将一个文件夹添加到我的系统路径并尝试导入它 我得到一个Import Error no module found named xyz 像这