web-dev-qa-db-ja.com

lxmlはubuntuでのビルドを終了しません

私はvwmareでubuntu14.04LTSとpython 2.7.5を実行しています。

私が走るとき:

Sudo pip install lxml

私は得る:

Collecting lxml
  Using cached lxml-3.4.4.tar.gz
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml

これは永遠に実行されます。

これに関連するリソースが見つかりません。また、同様のエラーの経験もありません。

以下の解決策は機能しないことに注意してください。

Sudo apt-get build-dep -y lxml;
pip install lxml

私も試しました:

Sudo apt-get install -y build-essential python-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
python-dev is already the newest version.
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-headers-3.13.0-57 linux-headers-3.13.0-57-generic
  linux-image-3.13.0-32-generic linux-image-3.13.0-57-generic
  linux-image-extra-3.13.0-32-generic linux-image-extra-3.13.0-57-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 75 not upgraded.

編集:

私はそれをもう一度実行して、次のようになりました。

Sudo pip install lxml

Collecting lxml
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Using cached lxml-3.4.4.tar.gz
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml

編集2:

 pip install lxml

The directory '/home/myusername/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/home/myusername/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
Collecting lxml
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading lxml-3.4.4.tar.gz (3.5MB)
    100% |████████████████████████████████| 3.5MB 7.0kB/s 
Installing collected packages: lxml
  Running setup.py install for lxml

編集3:長い間待った後、コマンドは以下を与えました:

pip install lxml
The directory '/home/mstaffel/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/home/mstaffel/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
Collecting lxml
/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading lxml-3.4.4.tar.gz (3.5MB)
    100% |████████████████████████████████| 3.5MB 7.0kB/s 
Installing collected packages: lxml
  Running setup.py install for lxml
    Complete output from command /usr/local/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-u3iJ67/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-0tAWPp-record/install-record.txt --single-version-externally-managed --compile:
    /usr/local/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    Building lxml version 3.4.4.
    Building without Cython.
    Using build configuration of libxslt 1.1.28
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-i686-2.7
    creating build/lib.linux-i686-2.7/lxml
    copying src/lxml/pyclasslookup.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/cssselect.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/__init__.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/_elementpath.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/doctestcompare.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/builder.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/ElementInclude.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/usedoctest.py -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/sax.py -> build/lib.linux-i686-2.7/lxml
    creating build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/__init__.py -> build/lib.linux-i686-2.7/lxml/includes
    creating build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/__init__.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/_diffcommand.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/soupparser.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/builder.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/usedoctest.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/html5parser.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/_setmixin.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/_html5builder.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/defs.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/clean.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/ElementSoup.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/diff.py -> build/lib.linux-i686-2.7/lxml/html
    copying src/lxml/html/formfill.py -> build/lib.linux-i686-2.7/lxml/html
    creating build/lib.linux-i686-2.7/lxml/isoschematron
    copying src/lxml/isoschematron/__init__.py -> build/lib.linux-i686-2.7/lxml/isoschematron
    copying src/lxml/lxml.etree.h -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/lxml.etree_api.h -> build/lib.linux-i686-2.7/lxml
    copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/tree.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/schematron.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xinclude.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/c14n.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xpath.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xslt.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/uri.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/relaxng.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/config.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/etree_defs.h -> build/lib.linux-i686-2.7/lxml/includes
    copying src/lxml/includes/lxml-version.h -> build/lib.linux-i686-2.7/lxml/includes
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/rng
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/rng
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    creating build/temp.linux-i686-2.7
    creating build/temp.linux-i686-2.7/src
    creating build/temp.linux-i686-2.7/src/lxml
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-u3iJ67/lxml/src/lxml/includes -I/usr/local/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -w
    gcc -pthread -shared build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-i686-2.7/lxml/etree.so
    building 'lxml.objectify' extension
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-u3iJ67/lxml/src/lxml/includes -I/usr/local/include/python2.7 -c src/lxml/lxml.objectify.c -o build/temp.linux-i686-2.7/src/lxml/lxml.objectify.o -w
    gcc -pthread -shared build/temp.linux-i686-2.7/src/lxml/lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-i686-2.7/lxml/objectify.so
    running install_lib
    creating /usr/local/lib/python2.7/site-packages/lxml
    error: could not create '/usr/local/lib/python2.7/site-packages/lxml': Permission denied

    ----------------------------------------
Command "/usr/local/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-u3iJ67/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-0tAWPp-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-u3iJ67/lxml
16
Rorschach

別のターミナルでtopを実行すると、システムがlxmlパッケージの構築でビジー状態になっていることに気付くでしょう。

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1645 root 20 0 322224 305740 5384 R 100.0 29.8 3:27.47 /usr/lib/gcc/arm-linux-gnueabihf/5/cc1 -quiet -I /usr/include/libxml2 -I src/lxml/includes -I /usr/include/python2.7 -imultiarch arm-linux-gnueabihf -D_REENTRANT -D ...

VMまたはリソースが限られているSBCで構築している場合、これにはしばらく時間がかかることがあります...

17
amorphic

これをVMで768MBのRAM(設定した値であることに気づかなかった)で実行しましたが、数時間かかり、終了しませんでした。

RAMを3GBに変更すると、再起動して再試行した後、数分で終了しました。

4
Riki137

Raspberry Pi 1 B +のlxmlに依存するパッケージを「pipinstall」しようとしたときに同じ問題が発生しました。数時間(および数回の試行)後、ホイールのビルドを完了せずにSSH接続が切断されました。メモリ不足の状況のようです。

それぞれapt install python-lxmlまたはapt install python3-lxmlを使用してビルド済みのバイナリパッケージをインストールすることを選択しました。

2
HotKey