我正在运行Python 2.5.
这是我的文件夹树:
ptdraft/
nib.py
simulations/
life/
life.py
Run Code Online (Sandbox Code Playgroud)
(我也在__init__.py每个文件夹中,为了便于阅读,这里省略了)
如何nib从模块内导入life模块?我希望有可能不用修补sys.path.
注意:正在运行的主模块位于该ptdraft文件夹中.
我的python练习项目有以下目录结构:
.
??? data
??? ds-and-algo
??? exercises
| ??? __init__.py
? ??? armstrong_number.py
? ??? extract_digits.py
??? output
Run Code Online (Sandbox Code Playgroud)
本extract_digits.py看起来是这样的:
.
??? data
??? ds-and-algo
??? exercises
| ??? __init__.py
? ??? armstrong_number.py
? ??? extract_digits.py
??? output
Run Code Online (Sandbox Code Playgroud)
在armstrong_number.py我有以下内容:
def extract_digits(n):
pass
Run Code Online (Sandbox Code Playgroud)
如果我运行,则从根项目目录
from .extract_digits import extract_digits
Run Code Online (Sandbox Code Playgroud)
我得到 ModuleNotFoundError: no module named exercises
运行以下带有-m标志的命令可解决错误:
python exercises/armstrong_number.py
Run Code Online (Sandbox Code Playgroud)
但是VSCode为了调试文件,我有以下调试配置launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Module",
"type": "python",
"request": "launch", …Run Code Online (Sandbox Code Playgroud)