Je suis un programmeur novice Python/Django.
J'ai créé une application basée sur Django 2.0 et je l'ai empaquetée conformément au document du document officiel .
$ pip install --user Django-easybuggy-0.1.tar.gz
Cependant, j'obtiens l'erreur et je ne peux pas installer.
Processing ./Django-easybuggy-0.1.tar.gz
Collecting certifi==2018.1.18 (from Django-easybuggy==0.1)
Could not find a version that satisfies the requirement certifi==2018.1.18 (from Django-easybuggy==0.1) (from versions: )
No matching distribution found for certifi==2018.1.18 (from Django-easybuggy==0.1)
Est-ce que quelqu'un sait la raison pour laquelle l'erreur se produit et comment y remédier?
De plus, j'ai créé requirements.txt
avec la commande:
$ pip freeze > requirements.txt
Étapes à suivre pour reproduire:
Téléchargez mon archive d'application:
$ wget https://github.com/k-tamura/easybuggy4Django/releases/download/0.0.1/Django-easybuggy-0.1.tar.gz
Exécutez la commande:
$ pip install --user Django-easybuggy-0.1.tar.gz
Meilleures salutations,
Le paquet certifi==2018.1.18
a été retiré de PyPI. La version actuelle est certifi==2018.4.16
. La raison en est que certifi
est un peu spécial: ce n'est rien d'autre qu'une collection de certificats SSL racine. Ainsi, une fois qu'ils sont périmés et qu'une nouvelle version de certifi
avec de nouveaux certs est publiée, les anciens sont supprimés pour des raisons de sécurité - afin que vous ne continuiez pas accidentellement à installer et utiliser des certificats anciens et potentiellement révoqués ou compromis.
La solution pour vous consiste à supprimer la version exacte requise:
setup(
...
install_requires=['certifi'],
...
)
ou d'exiger une version minimale et (éventuellement) de l'adapter aux nouvelles versions de votre paquet:
setup(
...
install_requires=['certifi>=2018.4.16'],
...
)
Ce dernier est ce que j'utilise habituellement: de cette façon,
certifi
est installée, elle sera automatiquement mise à niveau vers la version la plus récente, au moment de l’installation de votre paquet.