Questions tagged «relative-import»

12
相对导入-ModuleNotFoundError:没有名为x的模块
这是我第一次真正坐下来尝试python 3,但似乎失败了。我有以下两个文件: test.py config.py config.py中定义了一些函数以及一些变量。我将其简化为以下内容: config.py debug = True test.py import config print (config.debug) 我也有一个 __init__.py 但是,出现以下错误: ModuleNotFoundError: No module named 'config' 我知道py3约定要使用绝对导入: from . import config 但是,这导致以下错误: ImportError: cannot import name 'config' 因此,我对此无所适从……任何帮助将不胜感激。:)

7
使用Python 3从Jupyter Notebook中相对导入的另一个目录中的模块导入本地函数
我有一个类似于以下内容的目录结构 meta_project project1 __init__.py lib module.py __init__.py notebook_folder notebook.jpynb 当在工作notebook.jpynb,如果我尝试使用相对导入来访问函数function()在module.py有: from ..project1.lib.module import function 我收到以下错误: SystemError Traceback (most recent call last) <ipython-input-7-6393744d93ab> in <module>() ----> 1 from ..project1.lib.module import function SystemError: Parent module '' not loaded, cannot perform relative import 有什么办法可以使用相对导入来使它起作用? 注意,笔记本服务器是在meta_project目录级别实例化的,因此它应该有权访问这些文件中的信息。 同样要注意的是,至少没有按照最初的意图project1被认为是模块,因此没有__init__.py文件,它只是作为文件系统目录。如果解决问题的方法需要将其视为模块,并包括一个__init__.py很好的文件(甚至是空白文件),但这样做还不足以解决问题。 我在机器之间共享此目录,相对的导入使我可以在任何地方使用相同的代码,而且我经常使用笔记本进行快速原型制作,因此涉及将绝对路径捆绑在一起的建议不太可能有帮助。 编辑:这与Python 3中的相对导入不同,后者相对于Python 3中的相对导入一般来说,尤其是从包目录中运行脚本。这与在jupyter笔记本中工作有关,该笔记本试图调用另一个目录中具有不同常规和特定方面的本地模块中的函数。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.