无法从Pycharm环境外运行python3脚本

时间:2018-03-07 15:32:20

标签: python-3.x packages

我有一个这样的项目树:

../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)时,一切正常。那为什么不在终端上运行呢?如何让它在终端上运行?好像我错过了什么......

1 个答案:

答案 0 :(得分:0)

好的,实际上,我找到了这个问题的答案。我应该这样运行b.py:

python3 -m simple.src.b

请参阅Relative imports in Python 3 不知道为什么,但我没有早点发现......