web-dev-qa-db-ja.com

Visual Studio C ++ 2010Expressを使用するWindowsx 86(32ビット)でのPython 3.4のlxmlのインストール

関連

関連する質問:

関連する回答:

関連コメント:

  • WindowsでPython 2.7)のlxmlを構築する
  • 「@ziyuangこれは、Microsoft Visual Studio2010を使用するPython 3.3を使用することを意味します。その場合、答えは「はい」です。このバージョンをインストールする必要があります。」

事実

  • Windows x86(32ビット)
  • Visual Studio C++ 2008( ここから )ExpressとVisual Studio C++ 2010( ここから )の両方をインストールしました
  • Python 3.4.1(明らかにコンパイルされた新しいバージョンで Visual Studio 2008より)
  • 私はpip(またはpip3.4.exe;組み込みのPython 3.4)からpip install lxml
  • distutilsは、Visual Studio C++ 2010Expressを使用してコンパイルします

Pipによってログに記録された、エラーの最後の数行:

cl:コマンドライン警告D9025:「/ W3」を「/ w」でオーバーライド

lxml.etree.c

C:\ Users\NATHAN〜1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\include\etree_defs.h(9):致命的なエラーC1083:インクルードファイルを開くことができません: 'libxml/xmlversion.h':いいえそのようなファイルまたはディレクトリ

C:\ Python34\lib\distutils\dist.py:260:UserWarning:不明な配布オプション: 'bugtrack_url'

warnings.warn(msg)

エラー:コマンド 'C:\ Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.exe'が終了ステータス2で失敗しました

そのため、.Eggからインストールしたりコンパイルしたりすることはできません...

その他のオプション

また、このバージョンのPython用のWindowsインストーラー(exeまたはmsiなど)が見つかりません

2019年10月16日更新

コメント提供者が言うように、実行可能リンクはもう利用できません

クリスのように見えますしますここで直接exeを提供します:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

ありがとう、クリス! pipを使用してコンパイルできない理由はありますか?

11
The Red Pea

私もこの問題を抱えていますが、上記の回避策は私にとってもうまくいきません。

これが私のシステム構成です:

  • Win764ビット
  • python3.3
  • visual Studio 2013

関連する質問の最初のリンクでメソッドを使用しようとしましたが、失敗します。この方法は、vs2010で使用するシステム変数を作成するためのものであり、変数は実際にはVisual Studio2013の元の構成からコピーされます。

ただし、コマンドラインで「libxml /xmlversion.h」というエラーが表示されました。suckファイルまたはディレクトリはありません。

それから私はそれをインターネットでさらに検索し、私の場合にうまくいく方法を見つけました。

  1. プリコンパイルされたlxmlプラグインをダウンロードする

    プリコンパイル済みlxml 3.5https://pypi.python.org/pypi/lxml/3.3.5#downloads

    システムが64ビットの場合、x64の非公式バージョンをここで入手できます: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (これは私が使用しているものです)

  2. コマンドラインでコマンドを使用してインストールeasy_install lxml-3.2.1.win32-py3.3.‌exe

    参照https://pytools.codeplex.com/workitem/152

9
Craig Yang

python 3.4を使用している場合、これはダウンロードリンクです:

ここからダウンロード

他の構成がある場合は、必要に応じて [〜#〜] here [〜#〜] を見つけてください。 ;-)

6
HVT7

短いバージョンは次のとおりです。lxmlをビルドする前に、Cライブラリlibxml2(およびlibxslt2)が必要です。


lxmlインストールドキュメント のように:

静的バイナリ配布を使用している場合を除いて(たとえば、Windowsバイナリインストーラーから)、特にlibxml2libxsltをインストールする必要があります。

  • libxml22.6.21以降。ここで見つけることができます: http://xmlsoft.org/downloads.html

    • `libxml22.7.8以降のバージョンをお勧めします。
    • XPathを使用する場合は、libxml22.6.27を使用しないでください。
    • フィードパーサーインターフェイスを使用する場合、特にUnicode文字列から解析する場合は、libxml22.7.4から2.7.6を使用しないでください。
  • libxslt1.1.15以降。ここで見つけることができます: http://xmlsoft.org/XSLT/downloads.html

    • libxslt1.1.26以降をお勧めします。

ソースドキュメントからビルド 同様に次のように始まります:

ソースからlxmlをビルドするには、ヘッダーファイルを含め、libxml2とlibxsltが正しくインストールされている必要があります。


Windows(他のほとんどのプラットフォームとは異なり)には、これらのライブラリは付属していません。あなたはそれらを持っていることについてあなたの「事実」に何も言及していません。


そして、あなたが示したエラーメッセージは次のとおりです。

C:\Users\NATHAN~1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\includes\etree_defs.h(9) : 
fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': 
No such file or directory

見つからない'libxml/xmlversion.h'は、libxml2の一部です。


同じインストールドキュメントが明示的に次のように述べていることにも注意してください。

pyPIからのバイナリビルド、またはChristophGohlkeが寛大に提供する非公式のWindowsバイナリの使用を検討してください。

したがって、ChristophGohlkeがlxmlのバイナリを提供していないと思ったという事実は、これらのドキュメントが見つからなかったことを意味します。


したがって、libxml2をインストールした可能性はありますが、lxml2のセットアップスクリプトがそれを見つけることができる方法ではありません。しかし、すべての証拠は、あなたがそれを持っていない可能性がはるかに高いことを示唆しています。

3
abarnert