GNU/Linux >> Linux の 問題 >  >> Linux

ValueError:PyReadline のインストール後に _type_ 'v' がサポートされていないというエラーが発生しました

これは 2020 年以降、誰の役にも立たないでしょうが、後世のためにここに記録しておきたいと思います。

同じValueError: _type_ 'v' not supportedを経験しました HPC クラスター環境に Python 2.7.16 をインストールしてトレースバックし、ctypes.wintypes をインポートする pyreadline に依存する fancycompleter に依存する pdbpp をインストールしようとします。 2012 年のこのコア Python の問題の影響を受けています。

ctypes.wintypes は本当です 非 Windows プラットフォームにインポートしないでください (Cygwin、MSYS2、および Git Bash は技術的に非 Windows です。 GNU Readline ライブラリであり、純粋な Python shim は必要ありません)。

だったら 上記の問題のため、非 Windows プラットフォームにインポートされた ctypes.wintypes ValueError をスローします ImportError の代わりに 、つまり典型的な try /except ImportError をキャッチすることを期待しています 未処理の例外が原因で爆発します。

Pdbpp の fancycompleter、または pyreadline は、どういうわけかこれの犠牲になりました。 fancycompleter の setup.py pyreadline を依存関係として持ち込むことは想定されていません Windows では、しかしどういうわけか ありました 私のLinuxシステムで。 if そこにあるので、fancycompleter はそれをインポートしようとします。

私が把握できるのは、setup.py にタイプミスのある古い fancycompleter が pip キャッシュにあった可能性があるということだけです。 だったので、そうすべきではないときにpyreadlineを引き込んでいました その依存関係を何度も掴んでいます。

この状況を最終的に解決したのは pip uninstall pyreadline でした 、次に pip install -U --ignore-installed --no-cache-dir fancycompleter 不必要な pyreadline 依存関係を持ち込まない「新しい」バージョンの fancycompleter を取得します。


彼らのサイトに記載されているように、PyReadline ライブラリは Windows で使用されます .

スタック トレースの最後の行を見てください:

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

ctypes から Windows 固有のデータ型をインポートしようとしています Windows を実行していないため、これは明らかに不可能です。


Linux
  1. Pythonインストールエラー–申し訳ありません:UnicodeError:サポートされていないエスケープはunicodedataモジュールをロードできません[解決済み]

  2. c_rehash:コマンドが見つかりませんエラー–解決策

  3. Setfaclでサポートされていない操作?

  1. RAID 0をインストールした後、GrubはWindows 7を見つけることができませんでしたか?

  2. Nvidia独自のドライバーをインストールした後にUnityがロードされませんか?

  3. Arch Linuxをインストールした後はどうすればよいですか?

  1. \d は grep の基本式でサポートされていませんか?

  2. エラー:gdal がインストールされているのに、R 依存パッケージのインストール中に gdal-config が見つかりません

  3. v4.8.0 にアップデートした後の phpMyAdmin のエラー:$cfg['TempDir'] (./tmp/) にアクセスできません