it-swarm.com.de

Konnte keine Version finden, die die Anforderung pytz erfüllt

Ich habe ein Problem bei der Installation von pytz in virtualenv. 

Pytz herunterladen/entpacken
Es konnte keine Version gefunden werden, die die Anforderung pytz erfüllt (von Versionen: 2009r, 2008b, 2009f, 2008g, 2011g, 2011m, 2011e, 2007f, 2011k, ​​2007k, 2007k, 2006k, 2008h, 2008i, 2011e, 2008a, 2009a, 2009e, 2006g, 2009j, 2005m, 2008i, 2005k, 2008g, 2007c, 2007i, 2009l, 2009r, 2006k, 2007p, 2009p, 2009i, 2009u, 2009i, 2009i, 2009i, 2009g, 2009g, 2009g, 2009h, 2009a, 2007e, 2009g, 2009g, 2009g, 2010k, 2005r, 2007f, 2009l, 2009p, 2008c, 2009j, 2008g, 2010g, 2010h, 2011h, 2007c, 2007d, 2011d, 2009l, 2011c, 2008a, 2008a, 2005m, 2009k, 2009n, 2011d, 2010, 2010, 2010, 2009, 2009, 2009 2010e, 2012c, 2012d, 2012b, 2011b, 2011b, 2011b, 2011J, 2008C, 2012J, 2007K, 2009F, 2009B, 2013B, 2011B, 2009P, 2009P, 2008P, 2008R, 2009R, 2009R, 2009N, 2009a, 2009G, 2008G, 2008b, 2012c, 2009i, 2007g, 2012c, 2010h, 2011n, 2012g, 2007d, 2008a, 2009u, 2010g, 2010b, 2009u, 2012e, 2012e, 2012e, 2012e, 2012k, 2012e, 2012e, 2012e, 2012e, 2011e, 2011h, 2010h, 2010e, 2009g, 2009g, 2005r, 2011c, 2012g, 2009g, 2012d, 2009j, 2010o, 2007c, 2010g, 2006g, 2009g, 2009d, 2010h, 2005k, 2006j, 2010b, 2009n, 2011g, 2011c, 2012b, 2009b, 2009e, 2009d, 2011d, 2011j, 2010l, 2009r, 2012h, 2009e, 2009e, 2009e, 2009e, 2012e, 2012e, 2012e, 2012b, 2011b, 2011b, 2011b, 2009b, 2011n, 2012j, 2004b)
Aufräumen...
Keine Distributionen, die mit der Version für pytz übereinstimmen 

Es scheint, als wäre es ein Problem mit der neuesten Version von pip.

Gibt es eine Problemumgehung?

58
Houman

Dieser Fehler tritt auf, wenn pytz mit pip v1.4 oder neuer installiert wird, und zwar aufgrund dieser Verhaltensänderung:

Vorabversionen

Ab Version 1.4 installiert pip nur stabile Versionen, die standardmäßig in PEP426 angegeben sind. Wenn eine Version nicht als kompatible PEP426 -Version analysiert werden kann, wird davon ausgegangen, dass es sich um eine Vorabversion handelt.

Wenn ein Anforderungsspezifizierer eine Vorabversion oder Entwicklungsversion enthält (z. B. >=0.0.dev0), wird pip Vorabversionen und Entwicklungsversionen für diese Anforderung zulassen. Das Flag != ist nicht enthalten.

Der Befehl pip install unterstützt auch ein Flag --pre, mit dem Vorabversionen und Entwicklungsversionen installiert werden können.

Die Versionskennungen für das Paket pytz haben ein Format wie 2013b. PEP426 verwendet die in PEP440 beschriebenen Versionskennungen, die Folgendes angeben:

Öffentliche Versionskennungen MÜSSEN dem folgenden Schema entsprechen:

N[.N]+[{a|b|c|rc}N][.postN][.devN]

Da die pytz-Versionen wie 2013b nicht diesem Format entsprechen, behandelt Version 1.4+ von pip all-Versionen von pytz als Vorabversion und installiert sie nicht standardmäßig.

Wenn Sie nur pytz installieren, können Sie das --pre-Flag verwenden, um dieses Verhalten zu vermeiden. Dieses Flag möchten Sie jedoch nicht für die Installation der gesamten Projektanforderungen verwenden. Einige Pakete verfügen möglicherweise über instabile Vorabversionen, die Sie nicht möchten. Verwenden Sie in diesem Fall das oben beschriebene Verhalten: Wenn Sie für das Paket eine Versionsnummer "Vorabversion" angeben, sucht pip nach Vorversionsversionen des Pakets. Also habe ich dies zu meinem requirements.txt hinzugefügt:

pytz>=2013b

Wenn ich meine Pakete aktualisiere, sucht pip jetzt korrekt nach der neuesten Version von pytz und installiert sie.

Dies wurde als Ausgabe # 1204837 im Pytz Bug Tracker und Ausgabe # 974 im Pip Bug Bug abgelegt.

Stop Drücken Sie: Wie im PyTz-Fehlerbericht beschrieben, wurde die Versionsnummerierung von pytz jetzt beispielsweise auf 2013.7 geändert. Wenn Sie also ein Upgrade durchgeführt haben, sollte das Problem nicht mehr auftreten.

79
Jeremy Banks

Nur ein Student. Ich lernte pytz (heruntergeladen, Ausführen, Befehl Eingabeaufforderung, versuchte es dann mit IntelliJ, Projektstruktur, SDKS) und es konnte nicht importiert werden, selbst nachdem die Dateien gelöscht wurden. Lesen Sie die Launchtype-Fehlerliste. Ich habe auf Pendel gewechselt. Es funktionierte mit früheren Skripten, die pytz verwendeten. Nur eine Idee, keine direkte Antwort. Ursprüngliches Skript war Buchalka (Python3-Skript in einer Lektion unterrichten, und die Lektion würde mit IntelliJ nicht funktionieren) mit pytz. An das Pendel angepasstes Skript (Intellij, Projektstruktur, SDKS, +), damit ich die Zeitzone erleben kann. (keine Einrückungen mit diesem Codeblock) Das Posten, da eine Suche nach Internetseiten keine große Hilfe zur Lösung von pytz enthielt. Pendel bot eine Alternative an. 

import pendulum
import datetime
country = "Europe/Paris"

tz_to_display = pendulum.timezone(country)
local_time = datetime.datetime.now(tz=tz_to_display)
print("The time in {} is {}".format(country, local_time))
print("UTC is {}".format(datetime.datetime.utcnow()))

Für diejenigen mit mehr Wissen und komplizierter Schrift ist hier die Pendelstelle. https://pendulum.eustace.io/blog/a-faster-alternative-to-pyz.html Eine Bibliothek existiert für das Pendel auf der Site. Darin heißt es (SÉBASTIEN EUSTACE)

Dies ist darauf zurückzuführen, dass Pendulum stark auf das Vorhandensein des in Python 3.6 eingeführten fold-Attributs angewiesen ist.

Der Grund für das Funktionieren im Pendulum-Ökosystem besteht darin, dass das Fold-Attribut in der DateTime-Klasse zurückportiert wurde.

0
Mary Page