Условно установить из requirements.txt в зависимости от реализации Python

#python

#python

Вопрос:

У меня есть requirements.txt файл, указывающий необязательную зависимость, которая завершается сбоем при запуске в PYPY.

Я знаю, что вы можете создавать строки в requirements.txt файл зависит от версии Python или операционной системы. Например:

Следующие зависимости будут установлены только для Python 3.5 и Win32 соответственно

 black;python_version > '3.5' 
colorama;platform_system=="Windows"
 

Тем не менее, я ищу способ установить пакет только в том случае, если platform.python_implementation() это CPython или не PYPY.

Ответ №1:

Когда я писал это, я нашел ответ:

https://www.python.org/dev/peps/pep-0508/

Предыдущий код может быть дополнен следующим образом:

 black;python_version > '3.5' and platform_python_implementation=="CPython"
colorama;platform_system=="Windows"