今日、Windows10マシンにpython 3.7をインストールしましたが、ほとんどが機能しているようですが、pip install lxml
を実行しようとすると、インストールが失敗します。適切なプリコンパイル済みホイールを見つけるのではなく、ソースパッケージをダウンロードし、setup.py bdist_wheel
を実行しているようです。これにより、Visual Studioが呼び出され、C/C++拡張機能を構築しようとしますが、次のように失敗します。
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
本当の問題は、そもそもなぜこの再コンパイルを行う必要があるのかということだと思います。同じマシン上にpython 3.6.6)を使用して仮想環境をセットアップすると、pip install lxml
はプリコンパイルされたホイールを正常にダウンロードしてインストールします。
PyPIには、Windowsの3.7でlxmlのホイールがあるようですが、プラットフォーム名が適切に一致していないか、何かが一致していない可能性があります。私のマシンのpython -V -V
は以下を返します:
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
もちろん、質問を投稿するとすぐに答えが見つかります。 PyPIにはWindowsでpython 3.7のプリコンパイル済みビルドがありましたが、手動でダウンロードしてインストールしようとすると、間違って表示していたバージョン番号を読み取ったことがわかりました(python2。7)。リストをpython 3.7に見下ろしたところ、現在、Linux用のプリコンパイル済みビルドのみが投稿されていることがわかりました。
このサイト ただし、Windowsではpython 3.7用にコンパイル済みのバージョンがあります。それをダウンロードしたとき、それはうまくインストールされました。