我正在将.py文件导入另一个from snow_get import *
。 Pycharm给了我一个未解决的参考错误,但是当我实际运行时,它可以正常工作。在文件夹中包含 init .py和不包含 init .py的情况下,都会出现此错误。
我确实注意到Python版本是3.7(〜/ anaconda3 / bin / python),而项目解释器是3.6(〜/ anaconda3 / bin / python)。但是我无法解决这个问题。
snow_get.py
import pysnow
from pprint import pprint
def foo():
print('bar')
snow_post.py
from snow_get import *
foo()
打印以下内容:
/Users/hermanvanderveer/anaconda3/bin/python "/Users/hermanvanderveer/Code/RPA/Python/Coca cola/snow_post.py"
bar
Process finished with exit code 0
所以工作正常。但是为什么Pycharm会给我未解决的参考错误?
答案 0 :(得分:1)
之所以有效,是因为脚本是在控制台中执行的:
python -m script.py。
PyCharm虽然可以根据标准“智能”检测错误。导入应与“。”作为相对导入进行。符号,因为它是您的脚本。
此外,您可以在设置->编辑器->检查
中更改所有这些错误标记。更新:
我的黑客是这样的
try:
from .data_processing import DataProcessor
except ImportError as e:
from data_processing import DataProcessor
我把两个版本都运行了代码并加载了库。这仅适用于本地模块和软件包。