安装气流时出错:默认情况下,Airflow 的依赖项之一安装 GPL

Posted

技术标签:

【中文标题】安装气流时出错:默认情况下,Airflow 的依赖项之一安装 GPL【英文标题】:Error while install airflow: By default one of Airflow's dependencies installs a GPL 【发布时间】:2019-02-11 16:19:17 【问题描述】:

运行pip install airflow[postgres] 命令后出现以下错误:

> raise RuntimeError("By default one of Airflow's dependencies installs
> a GPL "
> 
> RuntimeError: By default one of Airflow's dependencies  installs a GPL
> dependency (unidecode). To avoid this dependency set
> SLUGIFY_USES_TEXT_UNIDECODE=yes in your environment when you install
> or upgrade Airflow. To force installing the GPL version set
> AIRFLOW_GPL_UNIDECODE

我正在尝试在 Debian 9 中安装

【问题讨论】:

那么,您在安装前是否按照消息中的说明设置了SLUGIFY_USES_TEXT_UNIDECODEAIRFLOW_GPL_UNIDECODE 是的,我试过了。我已经导出了那些环境变量。 两者?你应该决定一个并设置它。 【参考方案1】:

尝试以下方法:

export AIRFLOW_GPL_UNIDECODE=yes

export SLUGIFY_USES_TEXT_UNIDECODE=yes

使用export 使环境变量可用于所有子进程。

另外,请确保您使用的是 pip install apache-airflow[postgres] 而不是 pip install airflow[postgres]

您应该使用哪个:如果使用 AIRFLOW_GPL_UNIDECODE,airflow 将安装一个 GPL 许可下的依赖项,这意味着您将无法在商业上分发您生成的应用程序。如果这对您来说是个问题,请选择 SLUGIFY_USES_TEXT_UNIDECODE。

【讨论】:

我的问题已通过 2x 建议中的第一个解决,感谢 kaxil @kaxil 选择其中一个有什么区别? @Newskooler 答案已编辑以包含该信息:) @kaxil..你能帮我解决这个问题吗?我在安装时遇到问题。 ***.com/questions/60987782/…【参考方案2】:

如果您使用 sudo 进行安装,请运行以下命令中的 一个

sudo AIRFLOW_GPL_UNIDECODE=yes pip3 install apache-airflow

sudo SLUGIFY_USES_TEXT_UNIDECODE=yes pip3 install apache-airflow

注意:如果pip3 (python3) 不适合您,请尝试pip 命令。 pip 命令可以指向 python2 或 python3 安装,具体取决于您的系统。通过运行 pip --version 来验证这一点。

【讨论】:

非常感谢!第一个命令有效。 (注意:正常的 pip3 install apache-airflow 对我不起作用) 这对我有用(不是公认的答案)与 pip(不是 pip3)【参考方案3】:

Windows 用户可以在安装 apache-airflow 之前使用以下命令:

$ set AIRFLOW_GPL_UNIDECODE=yes

然后

$ pip install apache-airflow

【讨论】:

【参考方案4】:

如果你在 Windows 上通过 Python 终端安装气流,那么你需要这样写:

设置 SLUGIFY_USES_TEXT_UNIDECODE=yes

pip install apache-airflow[postgres]

在我努力尝试许多其他选择之后,它对我有用。希望这对你也有用。

【讨论】:

【参考方案5】:

下面的命令应该安装 apache-airflow 并允许您将更改拉入 PyCharm 以构建 DAG 和为 Airflow 编码。

SLUGIFY_USES_TEXT_UNIDECODE=yes

pip install apache-airflow

【讨论】:

【参考方案6】:

另外,如果您使用 sudo 安装,您可以使用:

export AIRFLOW_GPL_UNIDECODE='yes'
sudo -E pip3 install apache-airflow

(或使用SLUGIFY_USES_TEXT_UNIDECODE

【讨论】:

【参考方案7】:

在您的 python 终端中运行以下命令:SLUGIFY_USES_TEXT_UNIDECODE=yes pip install apache-airflow==1.10.0

【讨论】:

【参考方案8】:

使用以下命令安装 apache-airflow

sudo SLUGIFY_USES_TEXT_UNIDECODE=yes \
pip install apache-airflow[async,devel,celery,crypto,druid,gcp_api,jdbc,hdfs,hive,kerberos,ldap,password,postgres,qds,rabbitmq,s3,samba,slack]

【讨论】:

以上是关于安装气流时出错:默认情况下,Airflow 的依赖项之一安装 GPL的主要内容,如果未能解决你的问题,请参考以下文章

安装 Apache Airflow 后出错

使用 docker-compose 在 Windows 上构建气流时出错

气流 DAG 步骤依赖项

如何删除气流中的默认示例 dag

启动气流网络服务器时如何解决“错误:没有名为'airflow.www'的模块”

Airflow 中文文档:使用Mesos扩展(社区贡献)