无法在Mac OS上运行Airflow 1.10

3

最新版本的Airflow 1.10需要对日志记录进行一些设置。

我仔细遵循了说明,创建了一个config文件夹,并将airflow/config_templates/airflow_local_settings.py添加到PYTHONPATH

不幸的是,当运行Airflow时,我遇到了以下错误:

ValueError: Unable to configure handler 'processor':
  Cannot resolve 'airflow.utils.log.file_processor_handler.FileProcessorHandler': 
    dlopen(/Users/arikliber/miniconda3/envs/py36-6/lib/python3.6/site-packages/psutil/_psutil_osx.cpython-36m-darwin.so, 2):
      Symbol not found: ___CFConstantStringClassReference
  Referenced from: /Users/arikliber/miniconda3/envs/py36-6/lib/python3.6/site-packages/psutil/_psutil_osx.cpython-36m-darwin.so
  Expected in: flat namespace
    in /Users/arikliber/miniconda3/envs/py36-6/lib/python3.6/site-packages/psutil/_psutil_osx.cpython-36m-darwin.so

所有的内容都安装在一个全新的miniconda环境中。

有没有人在Mac OS上(我使用的是10.13.6版本)安装过Airflow 1.10,并且愿意分享一下工作流程?


1
这实际上是psutil的问题,而不是airflow的问题。当你运行python -c "import psutil"时,会得到什么结果?如果你安装了多个Python版本,请选择与airflow失败相同的版本,例如python3.6 -c等。 - hoefling
哦,实际上它给了我一个错误:Traceback (most recent call last): File "<string>", line 1, in <module> File "....psutil/__init__.py", line 134, in <module> from . import _psosx as _psplatform File "..../psutil/_psosx.py", line 14, in <module> from . import _psutil_osx as cext ImportError: dlopen(/.....psutil/_psutil_osx.cpython-36m-darwin.so, 2): Symbol not found: ___CFConstantStringClassReference Referenced from: ....psutil/_psutil_osx.cpython-36m-darwin.so Expected in: flat namespace in...psutil/_psutil_osx.cpython-36m-darwin.so - Leo
更新:显然,Airflow在安装过程中会降级psutil的版本。为了解决这个问题,我只需要在安装完Airflow之后运行pip install psutil --upgrade即可。感谢@hoefling让我找到了正确的解决方法! - Leo
1个回答

1
我使用了brew安装的Python 3.6,从-m venv创建了一个虚拟环境,并通过检出v1-10-stable分支的源代码并使用pip -e <path/to/apache-airflow-src-dir>/进行安装来安装Airflow v1.10。安装后,我使用pip check发现Flask已安装click 7.0,但Flask-AppBuilder不喜欢它,所以我必须卸载它并安装click 6.7。您可以尝试修改setup.py以在有序要求中将Flask-AppBuilder放在Flask之前。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接