0

pip-accelを使用して、コンパイルの多い仮想環境 (matplotlib、NumPy など) へのインストールを高速化したいと考えています。14.10 Ubuntu リポジトリには含まれていないため、手動でインストールする必要があります。ただし、インストールの試みは次のように失敗します。

> pip install --user pip-accel
Downloading/unpacking pip-accel
  Using download cache from /home/username/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpip-accel%2Fpip-accel-0.22.2.tar.gz
  Running setup.py (path:/tmp/pip_build_username/pip-accel/setup.py) egg_info for package pip-accel

Downloading/unpacking cached-property>=0.1.5 (from pip-accel)
  Using download cache from /home/username/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2F3.3%2Fc%2Fcached-property%2Fcached_property-0.1.5-py2.py3-none-any.whl
Downloading/unpacking coloredlogs>=0.8 (from pip-accel)
  Using download cache from /home/username/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fc%2Fcoloredlogs%2Fcoloredlogs-0.8.tar.gz
  Running setup.py (path:/tmp/pip_build_username/coloredlogs/setup.py) egg_info for package coloredlogs

Downloading/unpacking humanfriendly>=1.14 (from pip-accel)
  Using download cache from /home/username/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fh%2Fhumanfriendly%2Fhumanfriendly-1.14.tar.gz
  Running setup.py (path:/tmp/pip_build_username/humanfriendly/setup.py) egg_info for package humanfriendly

Downloading/unpacking pip>=1.4,<1.5 (from pip-accel)
  Using download cache from /home/username/.cache/pip/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpip%2Fpip-1.4.1.tar.gz
  Running setup.py (path:/tmp/pip_build_username/pip/setup.py) egg_info for package pip

    warning: no files found matching '*.html' under directory 'docs'
    warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
    no previously-included directories found matching 'docs/_build/_sources'
Installing collected packages: pip-accel, cached-property, coloredlogs, humanfriendly, pip
  Running setup.py install for pip-accel
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip_build_username/pip-accel/setup.py", line 55, in <module>
        test_suite='pip_accel.tests')
      File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/lib/python2.7/distutils/command/install.py", line 613, in run
        self.run_command(cmd_name)
      File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python2.7/distutils/dist.py", line 970, in run_command
        cmd_obj = self.get_command_obj(command)
      File "/usr/lib/python2.7/distutils/dist.py", line 845, in get_command_obj
        klass = self.get_command_class(command)
      File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 388, in get_command_class
        self.cmdclass[command] = cmdclass = ep.load()
      File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2048, in load
        entry = __import__(self.module_name, globals(),globals(), ['__name__'])
      File "/usr/lib/python2.7/dist-packages/setuptools/command/install_egg_info.py", line 5, in <module>
        from setuptools.archive_util import unpack_archive
      File "/usr/lib/python2.7/dist-packages/setuptools/archive_util.py", line 15, in <module>
        from pkg_resources import ensure_directory, ContextualZipFile
    ImportError: cannot import name ContextualZipFile
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_username/pip-accel/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-kD1BYu-record/install-record.txt --single-version-externally-managed --compile --user:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/utils.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/exceptions.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/config.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/req.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/compat.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/__init__.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/tests.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/bdist.py -> build/lib.linux-x86_64-2.7/pip_accel

copying pip_accel/cli.py -> build/lib.linux-x86_64-2.7/pip_accel

creating build/lib.linux-x86_64-2.7/pip_accel/caches

copying pip_accel/caches/__init__.py -> build/lib.linux-x86_64-2.7/pip_accel/caches

copying pip_accel/caches/local.py -> build/lib.linux-x86_64-2.7/pip_accel/caches

copying pip_accel/caches/s3.py -> build/lib.linux-x86_64-2.7/pip_accel/caches

creating build/lib.linux-x86_64-2.7/pip_accel/deps

copying pip_accel/deps/__init__.py -> build/lib.linux-x86_64-2.7/pip_accel/deps

copying pip_accel/deps/debian.ini -> build/lib.linux-x86_64-2.7/pip_accel/deps

running install_lib

copying build/lib.linux-x86_64-2.7/pip_accel/utils.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/exceptions.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/config.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/req.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/compat.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/__init__.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/tests.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/caches/__init__.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel/caches

copying build/lib.linux-x86_64-2.7/pip_accel/caches/local.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel/caches

copying build/lib.linux-x86_64-2.7/pip_accel/caches/s3.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel/caches

copying build/lib.linux-x86_64-2.7/pip_accel/deps/debian.ini -> /home/username/.local/lib/python2.7/site-packages/pip_accel/deps

copying build/lib.linux-x86_64-2.7/pip_accel/deps/__init__.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel/deps

copying build/lib.linux-x86_64-2.7/pip_accel/bdist.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

copying build/lib.linux-x86_64-2.7/pip_accel/cli.py -> /home/username/.local/lib/python2.7/site-packages/pip_accel

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/utils.py to utils.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/exceptions.py to exceptions.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/config.py to config.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/req.py to req.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/compat.py to compat.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/__init__.py to __init__.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/tests.py to tests.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/caches/__init__.py to __init__.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/caches/local.py to local.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/caches/s3.py to s3.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/deps/__init__.py to __init__.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/bdist.py to bdist.pyc

byte-compiling /home/username/.local/lib/python2.7/site-packages/pip_accel/cli.py to cli.pyc

running install_egg_info

Traceback (most recent call last):

  File "<string>", line 1, in <module>

  File "/tmp/pip_build_username/pip-accel/setup.py", line 55, in <module>

    test_suite='pip_accel.tests')

  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup

    dist.run_commands()

  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands

    self.run_command(cmd)

  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 61, in run

    return orig.install.run(self)

  File "/usr/lib/python2.7/distutils/command/install.py", line 613, in run

    self.run_command(cmd_name)

  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command

    self.distribution.run_command(command)

  File "/usr/lib/python2.7/distutils/dist.py", line 970, in run_command

    cmd_obj = self.get_command_obj(command)

  File "/usr/lib/python2.7/distutils/dist.py", line 845, in get_command_obj

    klass = self.get_command_class(command)

  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 388, in get_command_class

    self.cmdclass[command] = cmdclass = ep.load()

  File "/usr/local/lib/python2.7/dist-packages/pkg_resources.py", line 2048, in load

    entry = __import__(self.module_name, globals(),globals(), ['__name__'])

  File "/usr/lib/python2.7/dist-packages/setuptools/command/install_egg_info.py", line 5, in <module>

    from setuptools.archive_util import unpack_archive

  File "/usr/lib/python2.7/dist-packages/setuptools/archive_util.py", line 15, in <module>

    from pkg_resources import ensure_directory, ContextualZipFile

ImportError: cannot import name ContextualZipFile

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_username/pip-accel/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-kD1BYu-record/install-record.txt --single-version-externally-managed --compile --user failed with error code 1 in /tmp/pip_build_username/pip-accel
Storing debug log for failure in /home/username/.pip/pip.log

ノート:

  • Ubuntu リポジトリ ( ) から pip を使用してpip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)いますが、再度ダウンロードしているようです (1.5.x が気に入らないためですか?)
  • pip-accel を使用する別の方法がある場合 (ターゲットの virtualenv にインストールするなど)
4

1 に答える 1

1

私は pip-accel の作者です。テストに使用できるUbuntu 14.10システムがありません。これをテストしたUbuntu 12.04および14.04システムでは、すべて正常に動作します。ただし、この問題を解決する方法について、いくつかのヒントを提供できます。

根本原因分析

あなたが含めたトレースバックのパス名は、この問題の根本的な原因を示唆しているようです:

  • /usr/lib/python2.7/dist-packages/setuptoolssetuptools がインストールされてい/usr/lib/python2.7ます (ほとんどの場合、apt システム パッケージを使用してインストールされます) 。
  • /usr/local/lib/python2.7/dist-packages/pkg_resources.pypkg_resources はインストールされています/usr/local/lib/python2.7(ほとんどの場合sudo easy_install setuptools、 またはを使用してインストールされsudo pip setuptoolsます)

setuptools (複数のモジュールを提供するパッケージ) と pkg_resources (setuptools によって提供されるモジュール) が「同期していない」理由を説明していると確信しています。問題を解決するのは を取り除くのと同じくらい簡単かもしれませんが、/usr/local/lib/python2.7/dist-packages/pkg_resources.pyそのファイルがどのようにそこに到達したのか、そしてそれを削除する最もクリーンな方法が何であるかは (これ以上のコンテキストがなければ) わかりません。を試すことはできますがsudo pip uninstall setuptools、 内のファイルのみに触れることを再確認してください/usr/local(apt システム パッケージを使用してインストールされた setuptools のバージョンを pip で壊したくありません)。

pip-accel 0.22 は pip 1.5.x が好きではありません

あなたが言及した:

Ubuntu リポジトリの pip (/usr/lib/python2.7/dist-packages (python 2.7) の pip 1.5.6) を使用していますが、再度ダウンロードしているようです (1.5.x が気に入らないため? )

これは正しいです。pip-accel 0.22 には 1.5 より古いバージョンの pip が必要でした。今日、私は pip の新しいバージョンを使用する pip-accel 0.23 をリリースしました (これには pip 6 が必要です。これは、pip がマイナー番号をメジャー番号にするためにバージョン管理スキームを変更しなかった場合の pip 1.6 と同じですが、余談になります) .

pip-accel と仮想環境

あなたも言及しました:

pip-accel を使用する別の方法がある場合 (ターゲットの virtualenv にインストールするなど)

pip-accel の主な使用例 (README に記載されているように) は、pip-accel を使用して Python パッケージをインストールする Python 仮想環境内にインストールすることであるため、これは私を驚かせます。これでうまくいくはずですので、ぜひお試しください!

于 2015-04-04T17:23:17.933 に答える