Python的Setup.py:运行install_requires之前设置环境变量

问题描述 投票:2回答:2

近日,一改到Apache气流要求设置环境变量SLUGIFY_USES_TEXT_UNIDECODE = YES之前,它是能够被安装:https://airflow.apache.org/installation.html

在我的自定义模块的setup.py脚本,我包括在install_requires列表气流。所以,当我尝试安装我的自定义模块,它也失败寻找一个环境变量设置。

因为我有很多的环境中安装成这样,我想在我的setup.py模块自动设置环境变量,所以它总是存在的。然而,这似乎并没有工作,如果我只是把这个线在我的setup.py的顶部或安装的自定义子类的run()方法的内部(通过cmdclass setup.py选项)。

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

我如何能在之前任何install_requires依赖的一个setup.py设置环境变量有什么想法都安装?

任何帮助深表感谢。

python pip environment-variables airflow setup.py
2个回答
0
投票

如何安装在您的自定义模块?使用轮子?然后你的运气作为setuptools在编译/包时间在安装时运行setup.py但不是。随着车轮的唯一的解决办法是安装之前设置环境变量:

SLUGIFY_USES_TEXT_UNIDECODE=yes pip install …

你有setup.py欺骗,如果你从sdist(源代码分发)安装应该工作。


0
投票

如果你export SLUGIFY_USES_TEXT_UNIDECODE=yes之前运行pip install YOUR_CUSTOM_PACKAGE它应该工作外的开箱。

另一种选择是使用下面你setup.py

import os
os.system("export SLUGIFY_USES_TEXT_UNIDECODE=yes")
© www.soinside.com 2019 - 2024. All rights reserved.