web-dev-qa-db-ja.com

pipを使用したlibxmlインストールエラー

これは私のエラーです:

(mysite)[email protected]:~/zjm_test/mysite$ pip install lxml
Downloading/unpacking lxml
  Running setup.py Egg_info for package lxml
    Building lxml version 2.3.
    Building without Cython.
    ERROR: /bin/sh: xslt-config: not found

    ** make sure the development packages of libxml2 and libxslt are installed **

    Using build configuration of libxslt
Installing collected packages: lxml
  Running setup.py install for lxml
    Building lxml version 2.3.
    Building without Cython.
    ERROR: /bin/sh: xslt-config: not found

    ** make sure the development packages of libxml2 and libxslt are installed **

    Using build configuration of libxslt
    building 'lxml.etree' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
    src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-jOhgvD-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
    Building lxml version 2.3.

Building without Cython.

ERROR: /bin/sh: xslt-config: not found



** make sure the development packages of libxml2 and libxslt are installed **



Using build configuration of libxslt

running install

running build

running build_py

running build_ext

building 'lxml.etree' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w

src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-jOhgvD-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

私に何ができる?

更新:

(mysite)[email protected]:~/zjm_test/mysite$ pip install lxml
Downloading/unpacking lxml
  Running setup.py Egg_info for package lxml
    Building lxml version 2.3.
    Building without Cython.
    Using build configuration of libxslt 1.1.26
    Building against libxml2/libxslt in the following directory: /usr/lib
Installing collected packages: lxml
  Running setup.py install for lxml
    Building lxml version 2.3.
    Building without Cython.
    Using build configuration of libxslt 1.1.26
    Building against libxml2/libxslt in the following directory: /usr/lib
    building 'lxml.etree' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w
    src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-NJw2ws-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
    Building lxml version 2.3.

Building without Cython.

Using build configuration of libxslt 1.1.26

Building against libxml2/libxslt in the following directory: /usr/lib

running install

running build

running build_py

running build_ext

building 'lxml.etree' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.6/src/lxml/lxml.etree.o -w

src/lxml/lxml.etree.c:4: fatal error: Python.h: 没有那个文件或目录

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-NJw2ws-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

ログ:

------------------------------------------------------------
/home/zjm1126/zjm_test/mysite/bin/pip run on Thu Mar  3 17:07:27 2011
Downloading/unpacking mysql-python
  Running setup.py Egg_info for package mysql-python
    running Egg_info
    creating pip-Egg-info/MySQL_python.Egg-info
    writing pip-Egg-info/MySQL_python.Egg-info/PKG-INFO
    writing top-level names to pip-Egg-info/MySQL_python.Egg-info/top_level.txt
    writing dependency_links to pip-Egg-info/MySQL_python.Egg-info/dependency_links.txt
    writing pip-Egg-info/MySQL_python.Egg-info/PKG-INFO
    writing top-level names to pip-Egg-info/MySQL_python.Egg-info/top_level.txt
    writing dependency_links to pip-Egg-info/MySQL_python.Egg-info/dependency_links.txt
    writing manifest file 'pip-Egg-info/MySQL_python.Egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found
    reading manifest file 'pip-Egg-info/MySQL_python.Egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'MANIFEST'
    warning: no files found matching 'ChangeLog'
    warning: no files found matching 'GPL'
    writing manifest file 'pip-Egg-info/MySQL_python.Egg-info/SOURCES.txt'
Installing collected packages: mysql-python
  Running setup.py install for mysql-python
    Running command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-i686-2.6
    copying _mysql_exceptions.py -> build/lib.linux-i686-2.6
    creating build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/__init__.py -> build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/converters.py -> build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/connections.py -> build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/cursors.py -> build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb
    copying MySQLdb/times.py -> build/lib.linux-i686-2.6/MySQLdb
    creating build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.6/MySQLdb/constants
    running build_ext
    building '_mysql' extension
    creating build/temp.linux-i686-2.6
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-i686-2.6/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
    In file included from _mysql.c:29:
    pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6:
    running install

running build

running build_py

creating build

creating build/lib.linux-i686-2.6

copying _mysql_exceptions.py -> build/lib.linux-i686-2.6

creating build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/__init__.py -> build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/converters.py -> build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/connections.py -> build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/cursors.py -> build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb

copying MySQLdb/times.py -> build/lib.linux-i686-2.6/MySQLdb

creating build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.6/MySQLdb/constants

copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.6/MySQLdb/constants

running build_ext

building '_mysql' extension

creating build/temp.linux-i686-2.6

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-i686-2.6/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX

In file included from _mysql.c:29:

pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
Exception information:
Traceback (most recent call last):
  File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.Egg/pip/basecommand.py", line 130, in main
    self.run(options, args)
  File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.Egg/pip/commands/install.py", line 228, in run
    requirement_set.install(install_options, global_options)
  File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.Egg/pip/req.py", line 1043, in install
    requirement.install(install_options, global_options)
  File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.Egg/pip/req.py", line 559, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/home/zjm1126/zjm_test/mysite/lib/python2.6/site-packages/pip-0.8.1-py2.6.Egg/pip/__init__.py", line 249, in call_subprocess
    % (command_desc, proc.returncode))
InstallationError: Command /home/zjm1126/zjm_test/mysite/bin/python -c "import setuptools;__file__='/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-XuVIux-record/install-record.txt --install-headers /home/zjm1126/zjm_test/mysite/include/site/python2.6 failed with error code 1
257
zjm1126

** libxml2とlibxsltの開発パッケージがインストールされていることを確認してください**

Debianベースのディストリビューションを実行していると仮定して、 lxmlのドキュメント から:

Sudo apt-get install libxml2-dev libxslt-dev python-dev

Debianベースのシステムでは、python-lxmlまたはpython3-lxmlの既知のビルド依存関係をインストールすれば十分です。

Sudo apt-get build-dep python3-lxml
463
Uku Loskit

これは私のために働いた:

yum install libxslt-devel libxml2-devel
104
nairobi

Ubuntu/Lubuntu 13.04またはUbuntu 13.10を使用していて、 "/ usr/bin/ld:-lzが見つかりません"という問題がある場合は、zlib1g-devパッケージのインストールも必要です。

Sudo apt-get install -y zlib1g-dev

まとめると、

Sudo apt-get install -y libxml2-dev libxslt1-dev zlib1g-dev python3-pip
Sudo pip3 install lxml
75
Hieu

いいえ、Pythonのヘッダファイルが足りません。あなたがシステムPythonを使っているとき、これは大抵Linuxで起こります(そうしない理由は あります 、しかしそれは別の質問です)。

おそらく何らかのパッケージをインストールする必要があり、それはおそらくpython-devまたはpython-develと呼ばれます。

 Sudo yum install python-devel

または

 Sudo aptitude install python-dev

それとも何か。

33
Lennart Regebro

私はサーバーのRAMを増やすことでこの問題を解決しました。

私は512 MBしか走らせていませんでした、そして、私が1 GBにアップグレードしたとき私は何の問題もありませんでした。

問題を解決するために、これより前にすべてのパッケージを手動でインストールしましたが、これが必要な手順かどうかはわかりません。

9
Eric

Windowsの場合Python 3.4を3.3にインストールした後に手動でインストールしようとすると、Windowsでも同じエラーが発生しました。私はついにホイールをインストールしてPython34ディレクトリからpipを実行することでそれを解決することができました。

1)ここからホイールをダウンロードする: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

2)cd Python34\Scripts

3)pip.exe C:\Users\Home\Downloads\lxml- ......... .whl

8
dstudeba

ただ要件をインストールする:

Sudo apt-get install libxml2-dev libxslt-dev python-dev

これで、pipパッケージ管理ツールを使ってインストールできます。

pip install lxml

Ubuntu 14.04を使用していますが、これで問題は解決します

Sudo apt-get build-dep python3-lxml
Sudo apt-get install libxml2-dev libxslt-dev python-dev
6
error: command 'gcc' failed with exit status 1

yum remove audit
yum install gcc
yum install libxslt-devel libxml2-devel

cd lxml-x.x.x
python setup.py build
python setup.py install
6
jammyWolf
STATIC_DEPS=true easy_install lxml
5
RdB

Lxmlバイナリをインストールするとうまくいくでしょう。 これをチェックしてください

4
None-da
Sudo apt install libxslt-dev libxml2-dev

それからpython setuptoolsをアップグレードしてみてください

pip install -U pip setuptools

これで解決するはずです。

3
Sandeep G

私はlxmlのpipインストールでこの問題を抱えていました。私のCentOSインスタンスはこのエラーを投げていたpython 2.6を使用していました。

これを回避するために、Python 2.7で実行するために次のことを行いました。

  1. 実行します:Sudo yum install python-devel
  2. Sudo yum install libxslt-devel libxml2-develを実行
  3. Python 2.7を使用して/usr/bin/python2.7 YOUR_PYTHON_COMMANDを使用してコマンドを実行します(私にとっては/usr/bin/python2.7 -m pip install lxmlでした)。
3
Dfranc3373

私は私がショーに遅刻しているのを知っています、

他に何もうまくいかない場合でも、これは役立ちます

mkdir ~/tmp
export TMPDIR=~/tmp
STATIC_DEPS=true easy_install-2.7 lxml

TMPDIRを設定すると、ビルドが実行するために必要なすべてを確実に実行できるようになり、STATIC_DEPSを設定すると、サーバーにインストールされている古いバージョンを使用するのではなく、独自のlibxml2とlibxslt2を取り込むように指示されます。

2
Vinay

pymemcompat.h:10: fatal error: Python.h: 没有那个文件或目录

あなたがLANG=Cであなたのエラーログを掲示するべきであるボーイは人々があなたのログから本当の原因を得ることができません。上記のログには、そのようなファイルやディレクトリはありません。

つまり、Pythonの開発パッケージをインストールする必要があります。これは通常Debianフレーバーのディストリビューションでは "python-dev"、RHELフレーバーのディストリビューションでは "python-devel"です。

2
yegle

これは私のために動作します、12.04、python2.7.6

Sudo apt-get install libxml2 libxml2-dev libxslt1-dev
Sudo pip install lxml
2
Jesse Yan

上記のすべての回答は、必要なライブラリをインストールするためにユーザーが特権/ rootアカウントにアクセスできることを前提としています。ローカルにインストールするには、次の手順を実行する必要があります。手順が足りない可能性がある依存関係によっては少し複雑になる場合があるため、概要のみを示しました。

1. libxml2-2.9.1&libxslt-1.1.28をダウンロードしてコンパイルします(バージョンが変わる可能性があります)

2. configureを使用して、libxmlとlibxsltの両方のインストールパスをローカルディレクトリに設定します。例./configure --prefix=/home_dir/dependencies/libxslt_path

3. makeを実行してからmake installを実行

4.ソースからlxmlをダウンロードしてコンパイルする

2
Skillachie

Windows 8でcygwin 64を使用する。

私は持っています...

pip install lxml(...)

gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python3/python3-3.2.5-4.x86_64/build=/usr/src/debug/python3-3.2.5-4 -fdebug-prefix-map=/usr/src/ports/python3/python3-3.2.5-4.x86_64/src/Python-3.2.5=/usr/src/debug/python3-3.2.5-4 -I/usr/include/libxml2 -I/tmp/pip-build-b8ybku/lxml/src/lxml/includes -I/usr/include/python3.2m -c src/lxml/lxml.etree.c -o build/temp.cygwin-1.7.34-x86_64-3.2/src/lxml/lxml.etree.o -w

src/lxml/lxml.etree.c:8:22: fatal error: pyconfig.h: No such file or directory

compilation terminated.

/usr/lib/python3.2/distutils/dist.py:257: UserWarning: Unknown distribution option: 'bugtrack_url'

  warnings.warn(msg)

error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/usr/bin/python3.2m -c "import setuptools, tokenize;__file__='/tmp/pip-build-b8ybku/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-u3vwj8-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-b8ybku/lxml

新しいcygwinツールチェーンがpythonロジックをめちゃくちゃにするまで、私はすべてを試しました。 cygwinは、実際のgccではない "realgcc"という名前のコンパイラをインストールします。

溶液

Gccをインストールしてください。例:

 apt-cyg install gcc-g++
1
rdllopes

私のLinuxマシンでも同じエラーが発生しました。 Webサイト にアクセスすると、それらのドキュメントにも記載されています。 Linuxマシン、これらのコマンドを試してください、

# apt install libxml2-dev libxslt-dev python-dev

# pip install lxml==3.4.4

私にとって唯一の助けとなったのは

Sudo apt-get install python3.5-dev
1
Datalker

Osx 10.10.5およびvirtualenvでは、多分あなたは以下のようにその問題を解決することができます:

Sudo C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/libxml:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include pip install -r lxml
0
jason0916

私はWindowsマシンで作業しています。そしてここにlxmlのインストールを成功させるためのいくつかの指針があります(Python 2.6以降で)。

以下をインストールしてください。

  1. MingGW.
  2. libxml2バージョン2.7.0以降。
  3. libxsltバージョン1.1.23以降。

すべてがpip installで利用できるわけではありません。

libxml2のwindowsバイナリはここにあります。

libxsltはここにあります。

上記の2つの作業が終わったら、

pip install lxml

別の回避策は、PyPIからの安定版リリース、またはChristoph Gohlkeによる非公式のWindowsバイナリ( はこちら にあります)を使用することです。

0
Pragyaditya Das

CygwinでWindows 7を使用して、私は出くわしました:

Compile failed: command 'gcc' failed with exit status 1
cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitZsgdMQ.c -o tmp/xmlXPathInitZsgdMQ.o
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
error: command 'gcc' failed with exit status 1

mingw64-x86_64-libxsltをインストールして修正しました

0
Lordn__n

私はUbuntu 12を使用しています、そしてこれは私のために働きます:

Sudo apt-get install libxml2-dev
Sudo apt-get install libxslt1-dev
Sudo apt-get install python-dev
Sudo apt-get install lxml
0
Y.L.

下記のファイルは私のためにWindows上で働いた https://pypi.python.org/pypi/lxml/3.3.3#downloads

0
user2677679

Libxml2とlibxsltをインストールした場合は、libxml2とlibxsltのパスとpython2.6のインクルードパスの間のシンボリックリンクを作成する必要があります。また、INCLUDE環境引数を追加してみることもできます。 gccコマンドは次のパスしか検索しないためです。-I/usr/include/python2.6。

0
clilye