首页 > 解决方案 > Python Setup.py:在运行 install_requires 之前设置环境变量

问题描述

最近,对 Apache Airflow 的更改需要设置环境变量 SLUGIFY_USES_TEXT_UNIDECODE=yes 才能安装: https ://airflow.apache.org/installation.html

在我的自定义模块的 setup.py 脚本中,我将 Airflow 包含在install_requires列表中。因此,当我尝试安装我的自定义模块时,它也无法查找要设置的环境变量。

由于我有很多环境可以安装它,我想在我的 setup.py 模块中自动设置该环境变量,以便它始终存在。但是,如果我只是将此行放在 setup.py 的顶部或 install 的自定义子类的 run() 方法内部(通过 cmdclass setup.py 选项),它似乎不起作用。

os.environ['SLUGIFY_USES_TEXT_UNIDECODE'] = 'yes'

install_requires关于在安装任何依赖项之前如何在 setup.py 中设置环境变量的任何想法?

任何帮助深表感谢。

标签: pythonpipenvironment-variablesairflowsetup.py

解决方案


export SLUGIFY_USES_TEXT_UNIDECODE=yes如果您之前运行,它应该可以开箱即用pip install YOUR_CUSTOM_PACKAGE

另一种选择是在您的setup.py:

import os
os.system("export SLUGIFY_USES_TEXT_UNIDECODE=yes")

推荐阅读