airflow - 在 iMac 上安装 Apache-Airflow - 气流 initdb - ImportError:无法导入名称对象
问题描述
我试图在 iMac 上安装气流
airflow initdb
我收到了这个错误
Traceback (most recent call last):
File "/Users/admin/anaconda/bin/airflow", line 21, in <module>
from airflow import configuration
File "/Users/admin/anaconda/lib/python2.7/site-packages/airflow/__init__.py", line 37, in <module>
from airflow.models import DAG
File "/Users/admin/anaconda/lib/python2.7/site-packages/airflow/models.py", line 32, in <module>
import dill
File "/Users/admin/anaconda/lib/python2.7/site-packages/dill/__init__.py", line 60, in <module>
from . import objtypes as types
File "/Users/admin/anaconda/lib/python2.7/site-packages/dill/objtypes.py", line 16, in <module>
from dill import objects
ImportError: cannot import name objects
我找到了这个线程,虽然气流 initdb, ImportError: cannot import name HiveOperator,它不适用于在 iMac 上安装气流,并且错误不完全相同。但我还是试了一下。我改变了配置
# load_examples = True # default set up as True
load_examples = False # change to false to avoid airflow initdb error - But the error still there.
但是当我运行气流 initdb 时,我仍然得到同样的错误。
解决方案
您可能需要检查系统上安装的 dill 版本。0.2a1 之前的版本(特别是 0.1a1 版本)不包含“对象”,并且会抛出您在上面看到的错误。
我在我的 Mac 上创建了一个测试 conda 环境,并通过 pip 安装尝试使用各种版本的 dill 导入失败。
dill 版本 0.1a1 的结果:
(dill_test) pip install dill==0.1a1
Collecting dill==0.1a1
Installing collected packages: dill
Successfully installed dill-0.1a1
(dill_test) python
Python 2.7.15 |Anaconda, Inc.| (default, Dec 14 2018, 13:10:39)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
>>> from dill import objects
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name objects
dill 0.2a1 或更高版本的结果(导入对象时没有错误):
(dill_test) pip uninstall dill
Uninstalling dill-0.1a1:
Would remove:
/Users/.../anaconda2/envs/dill_test/lib/python2.7/site-packages/dill- 0.1a1.dist-info/*
/Users/.../anaconda2/envs/dill_test/lib/python2.7/site-packages/dill/*
Proceed (y/n)? y
Successfully uninstalled dill-0.1a1
(dill_test) pip install dill==0.2a1
Collecting dill==0.2a1
Installing collected packages: dill
Successfully installed dill-0.2a1
(dill_test) python
Python 2.7.15 |Anaconda, Inc.| (default, Dec 14 2018, 13:10:39)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
>>> from dill import objects
>>>
推荐阅读
- database - 如何根据特定条件将列附加到 MATLAB 表?
- spring-boot - SpringBoot 重定向到站点 404
- java - 非分布式场景中的 Apache Storm
- node.js - Google Cloud Functions:警告避免嵌套承诺承诺/不嵌套 +5k 寄存器
- git - 如何应用 /patches 文件夹中的所有 git .patch 文件 - npm
- python - 如何编写一种方法(采用文件目录)从文件目录中的word文档中提取文本?
- artifactory - 如何通过 REST 为 Artifactory 中的现有属性添加值
- python - 使用字典的 Python 罗马数字到整数转换器
- c# - Emgu CV 图像锐化和轮廓检测
- app-inventor - 尝试在 App Inventor 2 中将句子转换为 Pig Latin 时出错