web-dev-qa-db-ja.com

MacPortsまたはFinkを使用せずにOS X Leopardにlxmlをインストールするにはどうすればよいですか?

私はこれを試し、過去に何度も問題に遭遇しました。 MacPortsやFinkを使わずにOS Xにlxmlをインストールするためのレシピがある人はいますか?

できれば、各依存関係をダウンロードしてビルドするための1〜2〜3の手順を完了してください。

36
Simon Willison

Twitterの@jessenollerのおかげで、自分のニーズに合った答えが得られます。静的な依存関係を使用してlxmlをコンパイルできるため、OS Xに付属するlibxml2をいじることを回避できます。

cd /tmp
curl -O http://lxml.de/files/lxml-3.6.0.tgz
tar -xzvf lxml-3.6.0.tgz 
cd lxml-3.6.0
python setup.py build --static-deps --libxml2-version=2.7.3  --libxslt-version=1.1.24 
Sudo python setup.py install
35
Simon Willison

これは私のために働きました(10.6.8):

Sudo env ARCHFLAGS="-Arch i386 -Arch x86_64" easy_install lxml
33
Andrei

Homebrew を使用してlibxml2依存関係:

brew install libxml2

Homebrewにはlibxsltがないようですが、XSLTはまだ必要ありません。 YMMV。

依存関係を取得したら、通常の方法で問題なく動作します。

pip install lxml

または

easy_install lxml
21
David Eyk

Easy_installcanこれを使用して動作します:

STATIC_DEPS = true easy_install 'lxml> = 2.2beta4'

権限に応じて、その後を実行する必要があります。

STATIC_DEPS = true Sudo easy_install 'lxml> = 2.2beta4'

参照してください http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/

5
Jon

el capitan(10.11.1)で自作(0.9.5)を使用すると、次のように動作しました。

brew install libxml2
LD_FLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include/libxml2 pip install lxml
5
mizerlou

オンOS X 10.9.1上記の推奨される回答は、インストール中にエラーになります-以下の変更を行う必要がありました:

cd /tmp  
curl -o lxml-3.3.0.tgz http://lxml.de/files/lxml-3.3.0.tgz  
tar -xzvf lxml-3.3.0.tgz  
cd lxml-3.3.0  
python setup.py build --static-deps --libxml2-version=2.8.0  --libxslt-version=1.1.24  
Sudo python setup.py install  
3
user785278

これは10.8.5で私のために働きました

  1. Mac App StoreからXcodeをインストールする
  2. Xcode-> Preferences-> Downloads-> Command Line Tools
  3. を使用して自作をインストールする
  4. Ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  5. brew install libxml2
  6. Sudo easy_install lxml

これは、以下からの提案で構成されています。

でも、どこにでもコメントを残すのではなく、1つの回答にまとめたかった

3

OSX 10.11 El CapitanとHomebrewを使用しています。 pip install lxmlを使用すると、「致命的なエラー: 'libxml/xmlversion.h'ファイルが見つかりません」と「エラーコード1で失敗しました」というエラーメッセージが表示されます。

公式ウェブサイト によると、STATIC_DEPS=true pip install lxmlを使用する必要があります(必要に応じて、pipの前にSudoを追加します)。これで私の問題は解決しました。

トラブルシューティング中にbrew install libxml2brew install libxsltを実行して依存関係をインストールしました。これらの2つのコマンドが必要かどうかはわかりません。

1
feilong

私はこれをSnow Lepoardで問題なく動作させましたが、Lionにアップグレードした後、gcc-4.2をgccにシンボリックリンクする必要がありました。 Sudo env ARCHFLAGS = "-Arch i386 -Arch x86_64"を実行すると、easy_install lxmlはgccではなくgcc-4.2を探していました。

1
chuckles

Libxml2とlibxsltの最新バージョンでインストールするには:

ARCHFLAGS="-Arch i386 -Arch x86_64" STATIC_DEPS=true pip install lxml

ライブラリの特定のバージョンでインストールするには:

ARCHFLAGS="-Arch i386 -Arch x86_64" STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml

CentOS 64ビット(少し問題ありますが、勝ちました):

CFLAGS=-fPIC STATIC_DEPS=true pip install lxml

または

CFLAGS=-fPIC STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml
0
m.kocikowski

Cythonをインストールしてソースからインストールしてみてください。easy_installは失敗します。私はまだ私のMacで試していません。

Portsのバージョンがそれほど古いものではないことに失敗しました。依存関係を確認できます。lxmlのLinuxビルド用に更新する必要があったものもあります。

info py25-lxml py25-lxml @ 2.1.5(python、devel)

lxmlは、libxml2およびlibxsltライブラリのPythonicバインディングです。これは、これらのライブラリの速度と機能の完全性をネイティブPython APIのシンプルさと組み合わせます。ほとんど互換性がありますが、有名なElementTree APIより優れています。)ホームページ: http://codespeak.net/lxml/

ライブラリの依存関係:python25、libxml2、libxslt、py25-hashlib、py25-setuptools、py25-zlibプラットフォーム:darwinメンテナ:[email protected] [email protected]

0
Nick Martin
0
Ross

古くなった10.6.8 os xの場合、多くの苦痛がこれにかかりましたが、Snow Leopardを実行している人なら誰でも同じです。

まず、homebrewから異なるバージョンのlibxml2をインストールし、-with-pythonをインストールする必要があります。これを行うには、次のコマンドを入力します。

brew update
brew edit libxml2

次に、「-without-python」という行を見つけて、「-with-python」に変更します。

system "./configure", "--disable-dependency-tracking",
                      "--prefix=#{prefix}",
                      "--with-python"

これでlibxml2をインストールできます。

brew install libxml2

次に、デフォルトの自作の場所にあるlibxml2の新しいインストールを確認します。 libxml2設定を検索します。

年によって異なる場合があります:

"/ usr/local/Cellar/libxml2 /VERSION _/ bin/xml2-config"

次のコマンドを使用して、Mac OS Xバージョンではなく、新しくインストールされたlibxml2構成を使用して、pipでlxmlをインストールします。

ARCHFLAGS="-Arch i386 -Arch x86_64" pip install lxml --install-option="--with-xml2-config=/usr/local/Cellar/libxml2/2.9.1/bin/xml2-config"

10.6.8で動作しましたPython 2.6。ありがとうございます。

クレジットは、pip --install-option ...

http://natanyellin.com/page/4/

0
ganicus

lxmlは includedpypm リポジトリにあります:

$ pypm install lxml
0