【发布时间】:2021-11-18 23:38:27
【问题描述】:
我有一定的项目结构:
- azima
- .vscode
- core
- project_setup.py
- helper
- log_helper
- venv
在 project_setup.py 中:
import os
import json
import numpy as np
import pandas as pd
import random
from helper.log_helper import log
if __name__ == "__main__":
print('hello world')
在终端中运行这个文件:
(venv) rmali@rakeshmali:~/git/azima$ /home/rmali/git/azima/venv/bin/python /home/rmali/git/azima/core/project_setup.py
Traceback (most recent call last):
File "/home/rmali/git/azima/core/project_setup.py", line 6, in <module>
from helper.log_helper import log
ModuleNotFoundError: No module named 'helper'
我收到此错误。我究竟做错了什么?我错过了什么吗?
但是像这样运行python -m core.project_setup 可以。
【问题讨论】:
-
你试过
from .helper.log_helper import log吗? -
@SamMatzko
ImportError: attempted relative import with no known parent package我收到此错误 -
然后使用你的导入方法(
from helper.log_helper import log),但在它之前输入sys.path.append(os.path.dirname(os.path.dirname(__file__)))。这应该将azima添加到 Python 搜索模块的路径列表中。 -
您的目录结构中有
__init__.py脚本吗?这些会告诉 Python 您将文件夹视为包和子包。 -
可能与stackoverflow.com/questions/40185437/… 相关,如果您安装了多个 python 并且 VSCode 选择了一个默认的 python 解释器,而该解释器不是您安装要导入的模块的位置
标签: python visual-studio-code python-module