气流初始数据库:未定义符号:Py_GetArgcArgv

2024-05-15 15:53:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我按照文档安装了Apache airflowhttps://airflow.apache.org/docs/stable/start.html

当我执行initdb时,每次都会发生错误

x-MacBook-Pro:~ x$ airflow initdb
 ......
import airflow.utils.dag_processing
  File "/Library/Python/3.7/site-packages/airflow/utils/dag_processing.py", line 40, in <module>
    from setproctitle import setproctitle
ImportError: dlopen(/Library/Python/3.7/site-packages/setproctitle.cpython-37m-darwin.so, 2): Symbol not found: _Py_GetArgcArgv
  Referenced from: /Library/Python/3.7/site-packages/setproctitle.cpython-37m-darwin.so
  Expected in: flat namespace
 in /Library/Python/3.7/site-packages/setproctitle.cpython-37m-darwin.so

一个答案表明这是二进制软件包的问题。但我仍然不知道如何解决这个问题。 这是链接https://github.com/psycopg/psycopg2/issues/807

MacOSX 10.15.3

pip 20.0.2

Python 3.7.3


Tags: infromimportsopackageslibrarysiteutils
3条回答

如果您与3.7.x绑定,并且像我一样使用pipenv,那么运行最新补丁会有所帮助

brew install pyenv
pyenv install 3.7.10
pyenv global 3.7.10
pipenv --rm
pipenv install --dev --python 3.7.10

我在使用系统(OS)Python 3解释器时也遇到了同样的问题,即/usr/bin/python3

您只需使用自制软件安装python 3.7或3.8(两者都适用):

brew install python@3.8

通过运行which python3,确保python3现在指向/usr/local/bin/python3

然后安装apache airflow:

python3 -m venv .venv
pip install apache-airflow
airflow initdb

我在python 3.7中也遇到了同样的问题,但是对于直接从Python页面安装的Python 3.8来说效果非常好,创建一个新环境,然后在新环境中再次安装apache airflow,确保您拥有此版本apache airflow的所有依赖项,并且您没有使用本地环境来避免错误

相关问题 更多 >