Ich bin Neuling Python/Django-Programmierer.
Ich habe eine Anwendung erstellt, die auf Django 2.0 basiert, und sie gemäß dem offiziellen Dokument ..__ verpackt. Dann führe ich den Befehl aus:
$ pip install --user Django-easybuggy-0.1.tar.gz
Ich erhalte jedoch den Fehler und kann nicht installieren.
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)
Weiß jemand, warum der Fehler auftritt und wie er behoben werden kann?
Außerdem habe ich requirements.txt
mit dem Befehl erstellt:
$ pip freeze > requirements.txt
Schritte zum Reproduzieren:
Laden Sie mein Anwendungsarchiv herunter:
$ wget https://github.com/k-tamura/easybuggy4Django/releases/download/0.0.1/Django-easybuggy-0.1.tar.gz
Führen Sie den Befehl aus:
$ pip install --user Django-easybuggy-0.1.tar.gz
Freundliche Grüße,
Ich kann mein Problem durch Hinzufügen von Optionen beheben:
--proxy=http://[proxy_user_id]:[proxy_user_password]@[proxy_Host]:[proxy_port]/ --trusted-Host pypi.python.org --trusted-Host pypi.org --trusted-Host files.pythonhosted.org
zu pip install
.
Das Paket certifi==2018.1.18
wurde aus PyPI entfernt. Die aktuelle Version ist certifi==2018.4.16
. Der Grund dafür ist, dass certifi
etwas Besonderes ist: Es ist nichts anderes als eine Sammlung von Root-SSL-Zertifikaten. Sobald sie veraltet sind und eine neue Version von certifi
mit neuen Zertifikaten veröffentlicht wird, werden die alten aus Sicherheitsgründen gelöscht. Sie können also nicht versehentlich alte und möglicherweise gesperrte oder gefährdete Zertifikate installieren und verwenden.
Die Lösung für Sie ist, entweder die genaue Versionsanforderung zusammen aufzuheben:
setup(
...
install_requires=['certifi'],
...
)
oder eine Minimalversion erfordern und (optional) mit neuen Versionen Ihres Pakets anstoßen:
setup(
...
install_requires=['certifi>=2018.4.16'],
...
)
Letzteres ist, was ich normalerweise verwende: auf diese Weise,
certifi
installiert hat, wird diese automatisch auf die aktuellste Version aktualisiert, wenn Ihr Paket installiert wird.