不能 运行 python3 来自外部 Pycharm 环境的脚本
can't run python3 script from outside Pycharm environment
我有一个这样的项目树:
../simple_top/
└── simple
├── __init__.py
└── src
├── a.py
├── b.py
└── __init__.py
a.py 包含单个函数:
def a():pass
b.py 尝试导入该函数:
from simple.src.a import a
当我尝试从 simple_top 目录 运行 b.py 时,我看到以下错误:
python3 simple/src/b.py
Traceback (most recent call last):
File "simple/src/b.py", line 1, in <module>
from simple.src.a import a
ImportError: No module named 'simple'
令人惊讶的是,当我尝试从 Pycharm 环境(工作目录设置为 simple_top)中 运行 代码时,一切正常。那么为什么它不在终端中 运行 呢?如何在终端中使其成为运行?看来我错过了什么...
好的,实际上,我找到了那个问题的答案。我应该 运行 b.py 这样:
python3 -m simple.src.b
请参考Relative imports in Python 3
不知道为什么,没早点发现...
我有一个这样的项目树:
../simple_top/
└── simple
├── __init__.py
└── src
├── a.py
├── b.py
└── __init__.py
a.py 包含单个函数:
def a():pass
b.py 尝试导入该函数:
from simple.src.a import a
当我尝试从 simple_top 目录 运行 b.py 时,我看到以下错误:
python3 simple/src/b.py
Traceback (most recent call last):
File "simple/src/b.py", line 1, in <module>
from simple.src.a import a
ImportError: No module named 'simple'
令人惊讶的是,当我尝试从 Pycharm 环境(工作目录设置为 simple_top)中 运行 代码时,一切正常。那么为什么它不在终端中 运行 呢?如何在终端中使其成为运行?看来我错过了什么...
好的,实际上,我找到了那个问题的答案。我应该 运行 b.py 这样:
python3 -m simple.src.b
请参考Relative imports in Python 3 不知道为什么,没早点发现...