Python / Docker-ModuleNotFoundError:未命名模块

时间:2019-10-07 07:37:25

标签: python python-3.x docker python-import

我尝试了在SO上找到不同的解决方案。从导入sys到进行其他操作,但我无法弄清楚如何使事情正常工作。

这是我的结构文件夹:

├── __init__.py
├── config
│   └── airflow.cfg
├── dags
│   ├── __init__.py
│   └── inscription.py
├── docker-compose.yml
├── extra
│   ├── __init__.py
│   └── sql_statements.py
├── plugins
│   ├── __init__.py
│   └── operators
│       ├── __init__.py
│       ├── __pycache__
│       ├── has_rows.py
│       └── s3_to_redshift.py
└── requirements.txt

所有__ini__.py为空。

当我通过执行dags/inscription.py导入extra/sql_statements.pyfrom extra.sql_statements import *中的代码时,我的IDE(PyCharm)向我大喊大叫,但是当我使用docker运行项目时,它失败了

[2019-10-07 07:35:12,286] {{__init__.py:416}} ERROR - Failed to import: /usr/local/airflow/dags/inscription.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/airflow/models/__init__.py", line 413, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/usr/local/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 "/usr/local/airflow/dags/inscription.py", line 8, in <module>
    from extra.sql_statements import *
ModuleNotFoundError: No module named 'extra'

我不明白,因为我使用的其他一些python脚本似乎可以这种方式运行,但是我没有docker即可运行它们。我想了解这里发生的事情。

0 个答案:

没有答案