如何从子模块导入python脚本?
Posted
技术标签:
【中文标题】如何从子模块导入python脚本?【英文标题】:How to import python script from submodule? 【发布时间】:2012-05-24 06:24:22 【问题描述】:我有以下python模块结构:
/foo.py
/module
/module/__init__.py
/module/submodule/__init__.py
/module/submodule/bar.py
在 foo.py 我有以下代码:
from module.submodule.bar import *
但结果我收到以下错误:
'.../module/bar.py': [Errno 2] No such file or directory
为什么 python 试图在 /module/bar.py 找到文件,而不是我在 import 中所说的 module/submodule/bar?
【问题讨论】:
为我工作。您在__init__.py
文件之一中有什么奇怪的地方吗?
这不是您在导入时遇到的错误。似乎您有一些代码在 bar.py
或 __init__.py
文件之一中执行 open(something)
。
是的......这是 PyCharm 重构后的一个非常奇怪的行为。重新创建运行配置已经解决了这个问题。谢谢大家,你给了我一个尝试从控制台运行它的想法,它成功了。
@infalco,当自我回答计时器到期时,请将其作为答案发布在下面并接受它
【参考方案1】:
这是 PyCharm 的错误。如果您将脚本从一个文件夹移动到另一个文件夹,它会保存旧路径并使用它,即使您在运行配置中对其进行了更改。所以重新运行配置解决了这个问题。
【讨论】:
以上是关于如何从子模块导入python脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何将需要导入模块的python脚本转换为Windows中的可执行文件
从子进程调用的外部 python 脚本打印 tqdm 进度条