【发布时间】:2020-10-23 20:13:46
【问题描述】:
使用 Python 3.8,导入时出现问题。这很简单。但是在 python 3 中的导入方式有什么变化吗?
main 文件夹下,存在以下结构。
a1.py
import sys
print(sys.version)
from b.b1 import *
b1.py
import os
print(os.getcwd())
当我执行python a/a1.py(在main下)时,它prints python version但在导入时出错,如下所示
Traceback (most recent call last):
File "a/a1.py", line 3, in <module>
from b.b1 import *
ModuleNotFoundError: No module named 'b'
可以通过在 a1.py 中附加路径来解决,但不是解决方案。我在这里遗漏了什么还是取决于解释器路径?
import sys
print(sys.version)
sys.path.append("path")
from b.b1 import *
在 Pycharm 中,当我在没有 sys.path.append 的情况下执行 a1.py(右键单击,以 'a1' 运行)时,它会执行。执行的命令如下所示
/Users/a1234/venv/bin/python /Users/a1234/project_folder/main/a/a1.py
当我在没有 sys.path.append 的情况下从终端执行 a1.py 时(在 main,python a/a1.py 下,得到 ModuleNotFoundError: 错误)
【问题讨论】:
-
我在 3.8.2 中遇到了同样的问题
标签: python-3.x pycharm python-import importerror python-module