imp.load_source() 抛出“No Module Named”错误 Python 2.7
Posted
技术标签:
【中文标题】imp.load_source() 抛出“No Module Named”错误 Python 2.7【英文标题】:imp.load_source() throwing "No Module Named" Error 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 当然我可以试试,但它的语法是什么?
【参考方案1】:
试试:
imp.load_source("目录", "目录" + "文件名.py")
【讨论】:
不幸的是,这似乎返回了相同的错误。我是否需要在目录路径中的每个文件夹中都有一个 init.py 文件?我目前只在包含脚本本身的文件夹中拥有它 没有。你没有。只是要清楚,哪个文件正在加载哪个文件?我的印象是 OtherModule 调用这个加载语句 SourceFile.py ......如果它们在同一个目录中,你应该做 imp.load_source(".", "SourceFile.py") 如果你想加载 SourceFile.py以上是关于imp.load_source() 抛出“No Module Named”错误 Python 2.7的主要内容,如果未能解决你的问题,请参考以下文章
WPF的TextBox抛出InvalidOperationException异常:Cannot close undo unit because no opened unit exists.