Введение
У меня есть пакет с поддержкой PyPy и для CPython пользователей он имеет mypy
в качестве дополнительной зависимости, которую я указываю как
import platform
from setuptools import setup
...
install_requires = [...]
if platform.python_implementation() != 'PyPy':
install_requires.append('mypy>=0.630')
setup(...,
install_requires=install_requires)
и локально работает нормально, но когда я создаю исходный дистрибутив через CPython, как
> python setup.py sdist
и попробуйте установить его через PyPy
> pypy3 -m pip install path/to/package.tar.gz
он пытается установить mypy
(и терпит неудачу, так как mypy
использует специфичные для CPython пакеты), поэтому похоже, что зависимости взяты для версии CPython (для которой был создан дистрибутив).
Задача
Как я могу указать зависимости и создать исходный дистрибутив один раз, чтобы он работал как для версий CPython, так и для PyPy (и затем загружать их в PyPI)?