1

easy_install(およびpip)を使用してlxmlおよびpycryptoモジュールをインストールしようとしていますが、次のようなエラーメッセージが表示されます

Running lxml-2.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-kGsWMh/lxml-2.3.4/egg-dist-tmp-Gjqy3f
Building lxml version 2.3.4.
Building without Cython.
Using build configuration of libxslt 1.1.24
In file included from /usr/include/limits.h:63,
                 from /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin10/4.0.1/include/limits.h:10,
                 from /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:19,
                 from src/lxml/lxml.etree.c:4:
/usr/include/sys/cdefs.h:540:4: error: #error Unknown architecture
In file included from /usr/include/limits.h:64,
                 from /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin10/4.0.1/include/limits.h:10,
                 from /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:19,
                 from src/lxml/lxml.etree.c:4:
/usr/include/machine/limits.h:10:2: error: #error architecture not supported
In file included from /usr/include/sys/_types.h:33,
                 from /usr/include/_types.h:27,
                 from /usr/include/stdio.h:67,
                 from /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:33,
                 from src/lxml/lxml.etree.c:4:
/usr/include/machine/_types.h:36:2: error: #error architecture not supported
In file included from /usr/include/_types.h:27,
                 from /usr/include/stdio.h:67,
                 from /Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:33,
                 from src/lxml/lxml.etree.c:4:
/usr/include/sys/_types.h:94: error: syntax error before ‘__darwin_blkcnt_t’
    src/lxml/lxml.etree.c:165640: error: syntax error before ‘val’
    src/lxml/lxml.etree.c:165645: error: syntax error before ‘val’

blabla。。。

src/lxml/lxml.etree.c:165645: error: syntax error before ‘val’

lipo: can't figure out the architecture type of: /var/folders/f3/2q2x2p015kzgd4nbrn_qwykh0000gn/T//cc1pnrww.out

error: command 'gcc-4.0' failed with exit status 1

pycryptoもインストールしようとすると、同様の構文エラーが発生します。私はこの答えを試しましたが、無駄でした。setuptools-0.6c11-py2.6.eggとsetuptools-0.6c11-py2.7.eggを使用してPython2.6および2.7環境にセットアップしようとしましたが、同じ出力が得られました。

私はオンラインでたくさん検索しましたが、これに対する解決策を見つけることができません。

編集:私はmacbook pro2010のOSX10.7を使用しており、XCode4および3がインストールされています

上記のリンクのコマンドを試している間、argsを最新バージョンに置き換えたいと思います。

python setup.py build --static-deps --libxml2-version=2.7.8  --libxslt-version=1.1.26 
sudo python setup.py install

私は別の投稿を読んで、これも試しました

STATIC_DEPS=true sudo easy_install --allow-hosts=lxml.de,*.python.org lxml

解決:

@jdiが提案したように、私は次のことをしました

$ brew install --use-llvm libxml2
$ brew install --use-llvm libxslt

私はまだオプション1と2の提案で問題に直面していたので、リンクからgccをインストールしました

次に、これ

$ export ARCHFLAGS="-arch i386 -arch x86_64"
$ /usr/bin/python2.6 setup.py build
$ sudo /usr/bin/python2.6 setup.py install

またはこれは、動作します

$ sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install-2.6 lxml

pycryptoでも同じように機能しました

4

1 に答える 1

2

これは、不適切にビルドしていることを示しています:/Developer/usr/bin/../lib/gcc/powerpc-apple-darwin10もちろん、古い powerpc マシンを使用している場合を除きます。

実行している OSX のバージョンと、lxml のビルドに使用しているコマンドを確認してください。export ARCHFLAGS="-arch i386 -arch x86_64"でビルドするのを避けるために、ビルドする前にシェルに設定する必要があるかもしれませんppc。古いアーチを取得している理由がわかりません。

また、最新の Xcode がインストールされていることを確認してください。また、投稿したリンクを一言一句たどっている場合は、そのリンクが 3 年前のものであるため、文字通りのバージョンではなく、それらのパッケージの最新バージョンを使用していることを確認してください。

他のすべてが失敗した場合は、homebrewをインストールし、そのパッケージ マネージャーからインストールします。

更新: XCode 4.2+ の更新後に GCC 4.2 がない場合のオプション

一つを選ぶ

  1. 次の簡単なガイドを使用して gcc 4.2 をインストールします:
    http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42

  2. homebrew を使用してインストールします。 

    brew tap homebrew/dupes
    brew install homebrew/dupes/apple-gcc42

  3. gcc を完全に無視し、brew で llvm を使用する

    brew install --use-llvm libxml2     

于 2012-05-18T20:08:40.683 に答える