【问题标题】:imp.load_source() throwing "No Module Named" Error Python 2.7imp.load_source() 抛出“No Module Named”错误 Python 2.7
【发布时间】:2016-08-30 08:45:33
【问题描述】:

我目前使用的是 Python 2.7,我正在尝试加载这样的文件:

myPlt = imp.load_source('SourceFile', 'path/to/SourceFile.py')

但是,SourceFile.py 导入模块 OtherModule,该模块与 SourceFile 位于同一目录中。包结构如下:

/path
 .../to
      ...SourceFile.py
      ...OtherModule.py
      ...__init__.py

当我运行 load_source 时,我收到错误“ImportError: No module named OtherModule”

我的 load_source 调用不正确吗?我应该以其他方式导入 SourceFile 吗?

【问题讨论】:

  • 先加载OtherModule.py
  • 为什么不直接加载整个包呢?
  • @AnmolSinghJaggi 当然我可以试试,但它的语法是什么?

标签: python python-2.7 python-import python-module


【解决方案1】:

试试:

imp.load_source("目录", "目录" + "文件名.py")

【讨论】:

  • 不幸的是,这似乎返回了相同的错误。我是否需要在目录路径中的每个文件夹中都有一个 init.py 文件?我目前只在包含脚本本身的文件夹中拥有它
  • 没有。你没有。只是要清楚,哪个文件正在加载哪个文件?我的印象是 OtherModule 调用这个加载语句 SourceFile.py ......如果它们在同一个目录中,你应该做 imp.load_source(".", "SourceFile.py") 如果你想加载 SourceFile.py
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 2017-08-20
  • 2014-07-17
  • 2017-02-01
  • 2019-07-02
相关资源
最近更新 更多