python - 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 中设置环境变量的任何想法?
任何帮助深表感谢。
解决方案
export SLUGIFY_USES_TEXT_UNIDECODE=yes
如果您之前运行,它应该可以开箱即用pip install YOUR_CUSTOM_PACKAGE
。
另一种选择是在您的setup.py
:
import os
os.system("export SLUGIFY_USES_TEXT_UNIDECODE=yes")
推荐阅读
- r - R ggplot2 geom_bar barplot:在不修改数据框的情况下按计数对条形图进行排序,并且因子标签具有含义
- python-datetime - 通过排除 pandas 数据框中的非营业时间来计算两个日期之间的营业时间
- azure - 通过 API 检索 Azure AppInsights 实时指标
- vue.js - Vue没有看到从单独组件传递的函数
- javascript - 如何在 Web Worker 中使用 Azure App Insights?
- javascript - 我的复选框通过真假,但我需要 0 或 1
- python - Django:将带有 HTML 和 Django 模板标签的 Views.py 中的字符串变量注入 HTML 文件
- javascript - 通过javascript重新加载后,如何让我的下拉菜单选择一个值
- java - 如何声明一个通用变量
- html - background-color:inherit 是否可以在 IE11 中使用?