web-dev-qa-db-ja.com

Mac OS X 10.9にLxmlをインストールできない

ScrapyをインストールできるようにLxmlをインストールしたいです。

私が今日私のMacをアップデートしたとき、それは私がlxmlを再インストールさせないでしょう、私は以下のエラーを得ます:

In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
         ^
1 error generated.
error: command 'cc' failed with exit status 1

Brewを使ってlibxml2とlibxsltをインストールしようとしました。どちらも正常にインストールされましたが、それでもlxmlをインストールすることはできません。

前回インストールしたときは、Xcodeの開発者ツールを有効にする必要がありましたが、Xcode 5に更新されてからは、このオプションはもう必要ありません。

誰かが私がしなければならないことを知っていますか?

232
David O'Regan

Xcodeのコマンドラインツールをインストールまたはアップグレードする必要があります。ターミナルでこれを試してください:

xcode-select --install
499
tinylee

libxml2libxsltをインストールしてbrewでリンクすることで、Yosemiteでこの問題を解決しました。

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force

この方法を使用して問題を解決したが、後でもう一度表示される場合は、上記の4行でbeforeを実行する必要があります。

brew unlink libxml2
brew unlink libxslt

Homebrewに関して、特にEl Capitanに関してパーミッションエラーがある場合は これは役に立つドキュメントです 。基本的に、OS Xのバージョンに関係なく、実行してみてください。

Sudo chown -R $(whoami):admin /usr/local

あなたはコマンドラインでこれを実行することによってあなたの問題を解決するかもしれません:

 STATIC_DEPS=true pip install lxml

それは確かに私を助けました。 docs についての説明

100
André Augusto

私は上記の解決策のほとんどを試してみましたが、それらのどれも私のために働きませんでした。私はヨセミテ10.10を実行しています。私のために働いた唯一の解決策は端末でこれをタイプすることでした:

Sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml

編集:あなたがvirtualenvを使用している場合、初めにSudoは必要ありません。

48
robinsj

これはしばらく私を悩ませています。私はPythonのdistutilsなどについての内部を十分に知りませんが、ここでのインクルードパスは間違っています。私はPythonのLXMLの人々が適切な修正を行うことができるまで私を保持するために私は次の醜いハックをしました。

Sudo ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2/libxml/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml
24
jdkoftinoff

グローバルにインストールしています... OS X 10.9.2

xcode-select --install
Sudo easy_install pip
Sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml
19
Samy Vilar

インストール手順 http://lxml.de/installation.html 説明:

テスト環境でのビルドをスピードアップする継続的インテグレーションサーバーでは、CFLAGS環境変数を設定してCコンパイラ最適化を無効にします。

CFLAGS="-O0" pip install lxml
12
panchicore

上記のどれも10.9.2で私のために働きませんでした、コンパイルが以下のエラーで救済するので:

clang: error: unknown argument: '-mno-fused-madd' 

これは実際に最もクリーンな解決策につながります([1]の詳細を参照)。

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

pip install lxml

またはグローバルにインストールする場合はフォロー

Sudo pip install lxml

[1] クラングエラー:未知の引数: '-mno-fusion-madd'(pythonパッケージのインストール失敗)

11
okigan
xcode-select --install
Sudo easy_install pip
Sudo pip install lxml
10
RemembranceNN

私は以下のコマンドを実行することによってYosemiteでこの問題を解決しました:

xcode-select install #this may take several minutes.
pip install lxml
5
holys

自作では、libxml2はシステムのlibxml2を妨害しないように隠されているので、pipはそれを見つけるために少し助けられなければなりません。

Bash付き:

LDFLAGS=-L`brew --prefix libxml2`/lib CPPFLAGS=-I`brew --prefix libxml2`/include/libxml2 pip install --user lxml

魚と:

env LDFLAGS=-L(brew --prefix libxml2)/lib CPPFLAGS=-I(brew --prefix libxml2)/include/libxml2 pip install --user lxml
3
Gaëtan Lehmann

残念ながらxcode-select --installは私にとっては最新のバージョンをすでに持っているのでうまくいきませんでした。

非常に奇妙ですが、私はXCodeを開いて利用規約に同意することで問題を解決しました。 pip install lxmlを再実行してもエラーが返されませんでした。

2
Adam Sheridan

私はこのページのすべての答えを試しました、それらのどれも私のために働きませんでした。 OS Xバージョン10.9.2を実行しています

しかし、これは間違いなく機能します....魅力のように:

ARCHFLAGS = -Wno-error =未使用のコマンドライン引数 - 将来のハードエラーpip install lxml

2
Hexatonic

OSX 10.9.2

Sudo env ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future STATIC_DEPS=true pip install lxml
2
npiv

私の場合、lxmlをインストールする前にKaspersky Antivirusをシャットダウンする必要があります。

pip install lxml
1
Tho

Pipからのインストールが成功した後(lxml 3.6.4)、lxml.etreeモジュールをインポートするとエラーになりました。

私はscrapyの必要条件としてこれをインストールするために際限なく検索していました、そして、すべてのオプションを試しました、しかし最終的にこれは私のために働きました(mac osx 10.11 python 2.7):

$ STATIC_DEPS=true Sudo easy_install-2.7 "lxml==2.3.5"

古いバージョンのlxmlはetreeモジュールで動作するようです。

たとえば、ピップキャッシュに新しいバージョン、つまりeasy_installがある場合など、Pipは指定されたバージョンのパッケージを無視することがよくあります。 '-2.7'オプションはpythonバージョン用です。python 3.x用にインストールする場合はこれを省略してください。

1

髪を何度も引き裂いて歯をかじった後、私はpcodeでxcodeをアンインストールして実行しました。

easy_install lxml

そしてすべてが順調でした。

0
duhaime

この記事は私のために働いていたソリューションへのリンク Python 3、lxmlそしてMac OS X 10.9の "Symbol not found:_lzma_auto_decoder"

hth

0
user1183098

コンパイルする前に、xmlversion.hへのパスを環境に追加してください。

$ set INCLUDE=$INCLUDE:/private/tmp/pip_build_root/lxml/src/lxml/

しかし、私が提供したパスの中にxmlversion.hファイルがあることを確認してください。その後、

$ python setup.py install
0
knittledan

pipは私にとってはうまくいきませんでした。 https://pypi.python.org/pypi/lxml/2. に行き、macosxの.Eggファイルをダウンロードしました。

https://pypi.python.org/packages/2.7/l/lxml/lxml-2.3-py2.7-macosx-10.6-intel.Egg#md5=52322e4698d68800c6b6aedb0dbe5f34

次に、コマンドラインeasy_installを使用して.Eggファイルをインストールしました。

0
wisbucky

OSX 10.9.2を使用していますが、同じエラーが発生します。

XCodeコマンドラインツールをインストールしても、この特定のバージョンのOSXには役立ちません。

私はこれを直すより良い方法は次のコマンドでインストールすることだと思います:

$ CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 pip install lxml

これはjdkoftinoffの修正に似ていますが、システムを恒久的な方法で変更することはありません。

0
valo

私は同じ質問に答えました、そして、仕事の数日後に私は私のOS X 10.9.4、Python 3.4.1でこの問題を解決しました。

これが私の解決策です、

によるとlxml.deから lxmlのインストール によると、

Lxmlのmacportが利用可能です。 port install py25-lxmlのようなものを試してください

MacPortを持っていないなら、 MacPort.org からインストールしてください。とても簡単です。 XCodeのコンパイルツールをインストールするには、コンパイラも必要です。xcode-select --install

まず、Sudo port selfupdateで私の移植を最新版に更新しました、

それでは、Sudo port install libxml2と入力するだけで、数分後にlibxml2が正常にインストールされます。おそらくlxmlをインストールするのにlibxsltも必要でしょう。 libxsltをインストールするには、Sudo port install libxsltを使用します。

さて、pip install lxmlと入力するだけで、うまくいきます。

0
Pisces