模块未找到错误,但路径在PYTHONENV和sys.path中
我有以下项目结构:模块未找到错误,但路径在PYTHONENV和sys.path中,python,python-3.x,import,airflow,python-import,Python,Python 3.x,Import,Airflow,Python Import,我有以下项目结构: airflow_ci plugins sql_operator.py utilities __init__.py db.py 我想从sql\u operator.py导入db.py中的函数get\u primary\u keys。为此,我编写了代码: from utilities.db import get_primary_keys 此外,我还添加了PYTHONENV的路径: export PYTHONENV=/home/ubuntu/ai
airflow_ci
plugins
sql_operator.py
utilities
__init__.py
db.py
我想从sql\u operator.py
导入db.py
中的函数get\u primary\u keys
。为此,我编写了代码:
from utilities.db import get_primary_keys
此外,我还添加了PYTHONENV的路径:
export PYTHONENV=/home/ubuntu/airflow_ci/utilities
如果我做了printenv PYTHONENV
我会得到以下结果:
/home/ubuntu/airflow_ci/utilities
['', '/home/ubuntu/airflow_ci/utilities', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ubuntu/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
输入python并打印sys.path后,我得到以下信息:
/home/ubuntu/airflow_ci/utilities
['', '/home/ubuntu/airflow_ci/utilities', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ubuntu/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
尽管如此,我还是得到了一个错误:
Traceback (most recent call last):
File "/home/ubuntu/.local/lib/python3.6/site-packages/airflow/plugins_manager.py", line 182, in <module>
m = imp.load_source(namespace, filepath)
File "/usr/lib/python3.6/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 684, in _load
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/ubuntu/airflow_ci/plugins/sql_operator.py", line 2, in <module>
from utilities.db import get_primary_keys_query
ModuleNotFoundError: No module named 'utilities'
不在sql_operator.py中添加sys.append
代码行,是否可以解决此问题