最近,要更改Apache Airflow,需要先设置环境变量SLUGIFY_USES_TEXT_UNIDECODE = yes才能安装: https://airflow.apache.org/installation.html
在我的自定义模块的setup.py脚本中,我将Airflow包括在install_requires
列表中。因此,当我尝试安装自定义模块时,它也无法找到要设置的环境变量。
由于我有很多安装环境,因此我想在setup.py模块中自动设置该环境变量,使其始终存在。但是,如果仅将这一行放在setup.py的顶部或安装的自定义子类的run()方法的内部(通过cmdclass setup.py选项),则似乎不起作用。
os.environ['SLUGIFY_USES_TEXT_UNIDECODE'] = 'yes'
是否有关于如何在安装任何install_requires
依赖项之前在setup.py中设置环境变量的想法?
非常感谢您的帮助。
答案 0 :(得分:0)
如何安装自定义模块?使用车轮?然后,您很不走运,因为setuptools
在编译/打包时而不是在安装时运行setup.py
。对于轮子,唯一的解决方案是在安装之前设置环境变量:
SLUGIFY_USES_TEXT_UNIDECODE=yes pip install …
如果您是从sdist(源分发版)安装的,那么用setup.py
欺骗就可以了。
答案 1 :(得分:0)
如果您在export SLUGIFY_USES_TEXT_UNIDECODE=yes
之前运行pip install YOUR_CUSTOM_PACKAGE
,它应该是开箱即用的。
另一种选择是在setup.py
中使用以下内容:
import os
os.system("export SLUGIFY_USES_TEXT_UNIDECODE=yes")