GNU/Linux >> Tutoriels Linux >  >> Linux

ValueError :erreur _type_ 'v' non prise en charge après l'installation de PyReadline

Cela n'aidera probablement personne en 2020 ou au-delà, mais je veux tout de même l'enregistrer ici pour la postérité.

J'ai vécu le même ValueError: _type_ 'v' not supported traceback avec une installation de Python 2.7.16 dans un environnement de cluster HPC, tentant d'installer pdbpp, qui dépend de fancycompleter, qui dépend de pyreadline, qui importe ctypes.wintypes et est affecté par ce problème principal de Python depuis 2012.

C'est vrai que ctypes.wintypes ne doit jamais être importé sur une plate-forme non Windows (Cygwin, MSYS2 et Git Bash sont techniquement non Windows, car ils auront un réel bibliothèque GNU Readline et n'ont pas besoin du shim Python pur).

Cependant, si c'était l'étaient importé sur une plate-forme non Windows, en raison du problème mentionné ci-dessus, ctypes.wintypes lance un ValueError au lieu d'un ImportError , ce qui signifie qu'un try typique /except qui s'attend à attraper un ImportError va juste exploser à cause de l'exception non gérée.

Le fancycompleter de Pdbpp, ou plutôt pyreadline, en a été victime. Je ne sais plus qui est à blâmer, car le setup.py de fancycompleter n'est pas censé apporter pyreadline en tant que dépendance sauf sous Windows, mais d'une manière ou d'une autre il était là sur mon système Linux. Et si il est là, fancycompleter essaie de l'importer.

Tout ce que je peux comprendre, c'est que j'ai peut-être eu un vieux fancycompleter dans mon cache pip avec une faute de frappe dans son setup.py qui tirait pyreadline alors qu'il n'aurait pas dû, parce que c'était l'était saisissant cette dépendance, maintes et maintes fois.

Ce qui a finalement résolu cette situation pour moi était de pip uninstall pyreadline , puis pip install -U --ignore-installed --no-cache-dir fancycompleter pour obtenir une "nouvelle" version de fancycompleter qui n'a pas introduit la dépendance inutile de pyreadline.


Comme indiqué sur leur site, le PyReadline la bibliothèque est utilisée pour Windows .

En regardant les dernières lignes de votre trace de pile :

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

Il essaie d'importer des types de données spécifiques à Windows à partir de ctypes ce qui n'est évidemment pas possible puisque vous n'utilisez pas Windows.


Linux
  1. Commande yum-config-manager introuvable [Réparer]

  2. Erreur :gdal-config introuvable lors de l'installation de packages dépendants de R alors que gdal est installé

  3. Impossible de suivre l'utilisateur jenkins après l'installation de Jenkins

  4. Redis - linux / Erreur lors de l'installation de redis sur linux :`cc :commande introuvable`

  5. Erreur dans phpMyAdmin après la mise à jour vers la v4.8.0 :Le $cfg['TempDir'] (./tmp/) n'est pas accessible

10 choses à faire après l'installation de Linux Mint 16 Petra

Choses à faire après l'installation de Linux Mint 20 "Ulyana"

If…else…if Statement (erreur de commande introuvable) ?

12 choses à faire après l'installation d'un serveur Linux

15 choses à faire après l'installation de Fedora 26

après avoir installé monit quand je fais monit status myproc j'obtiens une erreur de connexion au démon monit