setup.py: restringe la versión permitida del intérprete de python
pip easy-install (2)
Tengo una biblioteca de python. Desafortunadamente, no lo he actualizado para trabajar con Python 3 todavía.
en su setup.py, agregué
install_requires=[''python<3''],
Mi intención era no permitir que este paquete se instale / use en Python 3, porque sé que (todavía) no funciona. No creo que esta sea la forma correcta de hacerlo, porque pip
luego intenta descargar e instalar python 2.7.3 (¡que ya es la versión instalada!).
¿Cómo debo especificar mi dependencia de la biblioteca en un rango particular de versiones de intérprete de python? ¿Debo agregar una etiqueta de Programming Language :: Python :: 2 :: Only
? ¿Esto realmente evitará la instalación en python 3? ¿Qué pasa si también quiero restringir la versión mínima a Python 2.6?
Preferiría una solución que funcione en todas partes, pero me conformaría con una que solo funciona en pip
(y, con suerte, no causa que easy_install se ahogue).
A partir de la versión 9.0.1, pip cumplirá con una nueva cadena python_requires
, especificando la versión de python requerida para la instalación, por ejemplo:
setup(
...,
python_requires=">=3.3"
)
Vea here para más detalles. Vea también esta answer en SO.
una posible solución es probar la versión de python, ya que pip no puede satisfacer la versión de python, excepto la versión en la que se está ejecutando actualmente (se instala en el entorno de python actual):
import sys
if not sys.version_info[0] == 2:
sys.exit("Sorry, Python 3 is not supported (yet)")
setup(...