我想从同一目录中的另一个文件导入一个函数.
有时它适用于我,from .mymodule import myfunction但有时我会得到:
SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)
有时它适用from mymodule import myfunction,但有时我也得到:
SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)
我不明白这里的逻辑,我找不到任何解释.这看起来完全随机.
有人可以向我解释这一切背后的逻辑是什么吗?
我试图importlib.import_module在Python 2.7.2中使用并遇到奇怪的错误.
考虑以下目录结构:
a
|
+ - __init__.py
- b
|
+ - __init__.py
- c.py
a/b/__init__.py 具有以下代码:
import importlib
mod = importlib.import_module("c")
(在实际代码中"c"有一个名字.)
试着import a.b,产生以下错误:
>>> import a.b
Traceback (most recent call last):
File "", line 1, in
File "a/b/__init__.py", line 3, in
mod = importlib.import_module("c")
File "/opt/Python-2.7.2/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named c
我错过了什么?
谢谢!