GNU/Linux >> LINUX-Kenntnisse >  >> Linux

ValueError:_type_ 'v' nicht unterstützter Fehler nach der Installation von PyReadline

Das wird wahrscheinlich im Jahr 2020 oder darüber hinaus niemandem helfen, aber ich möchte es trotzdem hier für die Nachwelt festhalten.

Ich habe dasselbe ValueError: _type_ 'v' not supported erlebt Rückverfolgung mit einer Installation von Python 2.7.16 in einer HPC-Clusterumgebung, bei dem Versuch, pdbpp zu installieren, das von fancycompleter abhängt, das von pyreadline abhängt, das ctypes.wintypes importiert und ist von diesem Python-Kernproblem von 2012 betroffen.

Es stimmt, dass ctypes.wintypes sollten niemals auf einer Nicht-Windows-Plattform importiert werden (Cygwin, MSYS2 und Git Bash sind technisch gesehen Nicht-Windows, da sie eine echte GNU Readline-Bibliothek und benötigen kein reines Python-Shim).

Aber wenn es wäre importiert auf einer Nicht-Windows-Plattform, wegen des oben erwähnten Problems, ctypes.wintypes wirft einen ValueError statt ImportError , was bedeutet, dass ein typischer try /except das erwartet, eine ImportError abzufangen wird wegen der unbehandelten Ausnahme einfach explodieren.

Pdbpps Fancycompleter, oder besser gesagt Pyrreadline, fiel irgendwie dem zum Opfer. Ich bin verwirrt darüber, wer schuld ist, weil fancycompleter setup.py ist soll pyreadline nicht als Abhängigkeit einbringen außer unter Windows, aber irgendwie da war es auf meinem Linux-System. Und wenn es ist da, fancycompleter versucht es zu importieren.

Ich kann mir nur vorstellen, dass ich vielleicht einen alten Fancycompleter in meinem Pip-Cache mit einem Tippfehler in seinem setup.py hatte das zog pyreadline ein, wenn es nicht hätte sein sollen, weil es war immer wieder diese Abhängigkeit packen.

Was diese Situation für mich tatsächlich endgültig gelöst hat, war pip uninstall pyreadline , dann pip install -U --ignore-installed --no-cache-dir fancycompleter um eine "frische" Version von Fancycompleter zu bekommen, die nicht die unnötige Abhängigkeit von pyreadline mit sich bringt.


Wie auf ihrer Website angegeben, ist der PyReadline Bibliothek wird für Windows verwendet .

Betrachten Sie die letzten Zeilen Ihres Stack-Trace:

import ctypes.wintypes as wintypes
File "/usr/local/lib/python2.7/ctypes/wintypes.py", line 23, in <module>
class VARIANT_BOOL(_SimpleCData):
ValueError: _type_ 'v' not supported

Es wird versucht, Windows-spezifische Datentypen aus ctypes zu importieren was offensichtlich nicht möglich ist, da Sie kein Windows ausführen.


Linux
  1. Befehl yum-config-manager nicht gefunden [Fix]

  2. c_rehash :Fehler „Befehl nicht gefunden“ – Lösung

  3. Betrieb wird mit Setfacl nicht unterstützt?

  4. Wird \d von den grundlegenden Ausdrücken von grep nicht unterstützt?

  5. Fehler:gdal-config wurde beim Installieren von R-abhängigen Paketen nicht gefunden, obwohl gdal installiert ist

10 Dinge, die nach der Installation von Linux Mint 16 zu tun sind Petra

Dinge, die nach der Installation von Linux Mint 20 „Ulyana“ zu tun sind

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

12 Dinge, die nach der Installation eines Linux-Servers zu tun sind

15 Dinge, die nach der Installation von Fedora 26 zu tun sind

Fehler in phpMyAdmin nach Update auf v4.8.0:Auf $cfg['TempDir'] (./tmp/) kann nicht zugegriffen werden