L'application de version de python dans setup.py
Actuellement, nous en sommes\installation de quelques paquets sur le système par la mention de leur version et les dépendances à l'setup.py en vertu de install_requires attribut. Notre système nécessite python 2.7. Parfois, les utilisateurs sont le fait d'avoir plusieurs versions de python dire 2.6.x et 2.7, certains paquets qu'il dit sont d'ores et déjà disponibles, mais en fait sur le système disponibles en vertu de 2,6 site liste des packages. Aussi certains utilisateurs a 2.6 seulement, la façon d'appliquer à partir de setup.py ou est-il une autre façon de le dire n'avoir que python 2.7 et tous les paquets qui nous voulons setup.py pour la mise à jour sont pour seulement 2.7. Nous avons besoin d'un minimum de 2,7 sur la machine pour exécuter notre code.
Merci!
Santhosh
OriginalL'auteur Santhosh | 2013-10-23
Vous devez vous connecter pour publier un commentaire.
Comme le
setup.py
fichier est installé parpip
(etpip
lui-même est exécuté par l'interpréteur python), il n'est pas possible de spécifier quelle version de Python à utiliser dans lasetup.py
fichier.Plutôt un coup d'oeil à cette réponse à setup.py: limiter le volume admissible de la version de l'interpréteur python qui a une solution pour arrêter l'installation.
Dans votre cas, le code serait:
Pourquoi ne pouvez-vous pas tout simplement
if sys.version_info < (2,7)
? Python compare les tuples dans l'ordre lexical, de sorte que cela va bien fonctionner pour, disons,(3,4,1)
.OriginalL'auteur Ewan
Les meilleures pratiques en vigueur (de cette écriture en Mars 2018) consiste à ajouter un
python_requires
argument directement à lasetup()
appel danssetup.py
:À noter que cela nécessite setuptools>=24.2.0 et pip>=9.0.0; voir la documentation pour plus d'informations.
La documentation liée à la réponse ci-dessus ne semble pas avoir toute l'information sur la
python_requires
mot-clé - packaging.python.org/guides/... (partie de la même série de docs) décrit plus directementMerci @PeterBriggs, mis à jour le lien (pas sûr si c'était mal, en premier lieu, ou si la page déplacé ...)
OriginalL'auteur Aaron V