我按照文档安装了Apache-airflow。 https://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
点20.0.2
Python 3.7.3
答案 0 :(得分:1)
我在python 3.7
中遇到了同样的问题,但是非常适合直接从python页面安装的Python 3.8,创建新环境并在新环境中再次安装apache-airflow,请确保您具有此版本的所有依赖项apache-airflow的问题,并且您没有使用本地环境来避免错误。
答案 1 :(得分:0)
我遇到了与您相同的问题(MAC OS Catalina)。问题出在系统上的两个python版本(Python2.7和Python3.7)上。
$ python -V
Python 2.7
$ pip -V
pip 20.0.2 from /Library/Python/3.7/site-packages/pip (python 3.7)
$ which python
/usr/bin/python
$ which pip
/usr/local/bin/pip
我通过为python
添加软链接解决了该问题
$ ln -s /usr/local/bin/python3 /usr/local/bin/python
$ python -V
Python 3.7.7
然后,重新安装apache-airflow。在本地和虚拟环境中为我工作。
答案 2 :(得分:0)
当使用从官方站点安装的python 3.8时,setproctitle 1.1.10模块可在macOS Catalina上按预期工作。
Python 3.8下载:https://www.python.org/downloads/release/python-380/
答案 3 :(得分:0)
我在python 3上遇到了同样的问题。尝试创建python 2.7的static Foo aggregateTime(Foo initial, Foo incoming) {
return new Foo(incoming.getName(), incoming.getCode(),
incoming.getAccount(), initial.getTime() + incoming.getTime());
}
并在其中安装气流。
答案 4 :(得分:0)
当我使用系统(OS)python3解释器,即/usr/bin/python3
您可以使用自制软件简单地安装python 3.7或3.8(两者均适用):
brew install python@3.8
通过运行/usr/local/bin/python3
确保python3现在指向which python3
。
然后安装apache-airflow:
python3 -m venv .venv
pip install apache-airflow
airflow initdb
答案 5 :(得分:0)
Python 3.7.3导致了此问题。 我升级到Python 3.7.7,问题已解决。
mkvirtualenv -p python3.7.7 airflow
workon airflow
pip install apache-airflow
airflow initdb
答案 6 :(得分:0)
我当然有同样的问题。 macOS 10.15.2。
我已全局安装python 3.8。我做了一些研究,发现原因是c库m-darwin.so
的编译方式。
此步骤可帮助我解决问题:
brew install pyenv
pyenv install 3.7.0
pyenv global 3.7.0
python3 -V
应该会给您:Python 3.7.0
python3 -m virtualenv --python=python3.7 my awesome_env
source awesome_env/bin/activate
pip install -r requirements.txt
我认为整个过程都会触发库的重新编译。
答案 7 :(得分:0)
如果您像我一样使用 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
答案 8 :(得分:0)
此处的故障排除部分对此错误进行了更全面的解释:https://airflow.apache.org/docs/apache-airflow/stable/installation.html
就我而言,我通过自制软件安装了 3.8.2 时遇到了问题,而通过 pyenv 安装了 3.9.4 就解决了问题。