2017-01-10 4 views
-3

Ich bin Anfänger in Python und mit Python 2.7.11 in Windows 7. Heruntergeladen multidict multidict 2.1.2-Rad von http://www.lfd.uci.edu/~gohlke/pythonlibs/#multidict und erfolgreich installiert mit Pip-Installation.Python2.7: multidict importieren

Import multidict Fehler zeigt

yield from self._items 
SyntaxError: invalid syntax 

ich Wort gegangen from Py und Fehler beseitigt haben. Laufen wieder zeigt von Sammlungen Import abc (

ImportError: cannot import name abc 

habe ich auch import abc aber kein Erfolg. _multidict_py.py Datei Code auf allen from collections import abc hat.

Offizielle multidict Angebot Rad für Python 3.4. Die meisten meiner Bibliothek und Pakete laufen gut auf py27 daher im Moment nicht Upgrade auf 3.4

Ich habe auch installiert MultiDict - Werkzeug aber es auch multidict.dict unterstützt nicht eindeutigen Schlüssel, während ich mehrere Schlüssel mit verschiedenen Wert benötigen.

+0

Nun, einige Pakete unterstützen Python 2 nicht mehr. Vielleicht findest du eine passende (ältere) Version dieses Pakets irgendwo in 'pypi'. Ich bin mir nicht sicher, wie wir Ihnen helfen könnten. Ich würde nicht empfehlen, auf Python 3.4 zu aktualisieren - wenn Sie sich entscheiden, auf Python 3 zu aktualisieren, wählen Sie die neueste Version (derzeit 3.6). – MSeifert

+0

@MSeifert: Das Projekt hat nie etwas anderes als 3.4 und neuer unterstützt. –

Antwort

2

Update: Ich kontaktierte Herrn Gohlke und das 2.7 Rad wurde jetzt entfernt.


bin ich nicht sicher, warum Christoph Gohlke das Paket bereitstellt, wie es nicht kompatibel mit Python 2 ist. Es gab nie eine Veröffentlichung, die auch kompatibel war.

Vom PyPI project page:

  • Programmiersprache Python ::
  • Programmiersprache Python :: :: 3
  • Programmiersprache Python :: :: 3.4
  • Programmiersprache :: Python :: 3,5

Das Projekt erfordert Python 3.4 und höher.

Sie können nicht nur die angezeigten Syntaxfehler bearbeiten. Beispielsweise ist yield from ein neues Python 3-Konzept, das in Coroutinen verwendet wird und nicht einfach durch yield ersetzt werden kann.

Beachten Sie, dass die Werkzeugversion ein anderes Projekt und eine andere Implementierung der gleichen Idee ist. werkzeug funktioniert gut auf Python 2.7.

+0

Martijn, ich habe bereits multidict-2.1.2-cp27-cp27m-win32.whl von inoffiziellen http: //www.lfd.uci heruntergeladen und erfolgreich installiert.edu/~ gohlke/pythonlibs/# multidict site weil offizielle https://pypi.python.org/pypi/multidict nur multidict-2.1.4-cp34-cp34m-win32.whl hat. pip freeze zeigt multidict installiert – kakakhan2016

+0

@ kakakhan2016: ja, aber der * Code in diesem Paket * wird nicht auf 2.7 funktionieren. Dies ist ein Fehler im Namen dieser Site. Sie können es nicht auf Python 2.7 ausführen. –

+0

Danke. Also muss ich auf Python 34 upgraden. – kakakhan2016

0

Danke Martijn Pieters. Ich habe neueste Python installiert und alle Paket/Bibliothek einschließlich multidict funktionieren großartig. Danke für deine Antworten.