如何在 Ubuntu 14.10 上安装 pip-accel?
How can I install pip-accel on Ubuntu 14.10?
我想使用 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 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
) 的 pip,但它似乎正在再次下载它(因为它不喜欢 1.5.x?)
- 如果有另一种使用 pip-accel 的方法(例如,将其安装到目标 virtualenv 中)我洗耳恭听,但似乎不是这样
我是 pip-accel 的作者。我没有可用于测试的 Ubuntu 14.10 系统,在我测试过的 Ubuntu 12.04 和 14.04 系统上一切正常。不过,我可以为您提供一些有关如何解决此问题的提示。
根本原因分析
您包含的回溯中的路径名似乎暗示了此问题的根本原因:
/usr/lib/python2.7/dist-packages/setuptools
是安装在 /usr/lib/python2.7
中的 setuptools(很可能是使用 apt 系统软件包安装的)
/usr/local/lib/python2.7/dist-packages/pkg_resources.py
pkg_resources 安装在 /usr/local/lib/python2.7
中(很可能使用 sudo easy_install setuptools
或 sudo pip setuptools
安装)
我很确定这解释了为什么 setuptools(一个提供多个模块的包)和 pkg_resources(一个由 setuptools 提供的模块)是 "out of sync"。解决这个问题可能就像摆脱 /usr/local/lib/python2.7/dist-packages/pkg_resources.py
一样简单,但是我无法告诉(没有更多上下文)该文件是如何到达那里的以及删除它的最干净的方法是什么。您可以尝试 sudo pip uninstall setuptools
,但请仔细检查以确保它只会接触 /usr/local
中的文件(您不希望 pip 破坏使用 apt 系统软件包安装的 setuptools 的版本)。
pip-accel 0.22 不喜欢 pip 1。5.x
您提到:
I am using pip from the Ubuntu repos (pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)) but it appears to be downloading it again (because it doesn't like 1.5.x?)
这是正确的,pip-accel 0.22 需要低于 1.5 的 pip 版本。今天我发布了 pip-accel 0.23,它使用了更新版本的 pip(它需要 pip 6,如果 pip 不更改其版本控制方案以使次要数字成为主要数字,这就是 pip 1.6 的样子,但我离题了) .
pip-accel 和虚拟环境
您还提到:
if there's another way to use pip-accel (e.g. install it into the target virtualenv) I'm all ears, but it doesn't seem like it
这让我感到惊讶,因为 pip-accel 的主要用例(如其 README 中所述)是将其安装在 Python 虚拟环境中,您要使用 pip 安装 Python 软件包-加速。所以这应该可以正常工作,请尝试一下!
我想使用 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 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
) 的 pip,但它似乎正在再次下载它(因为它不喜欢 1.5.x?) - 如果有另一种使用 pip-accel 的方法(例如,将其安装到目标 virtualenv 中)我洗耳恭听,但似乎不是这样
我是 pip-accel 的作者。我没有可用于测试的 Ubuntu 14.10 系统,在我测试过的 Ubuntu 12.04 和 14.04 系统上一切正常。不过,我可以为您提供一些有关如何解决此问题的提示。
根本原因分析
您包含的回溯中的路径名似乎暗示了此问题的根本原因:
/usr/lib/python2.7/dist-packages/setuptools
是安装在/usr/lib/python2.7
中的 setuptools(很可能是使用 apt 系统软件包安装的)/usr/local/lib/python2.7/dist-packages/pkg_resources.py
pkg_resources 安装在/usr/local/lib/python2.7
中(很可能使用sudo easy_install setuptools
或sudo pip setuptools
安装)
我很确定这解释了为什么 setuptools(一个提供多个模块的包)和 pkg_resources(一个由 setuptools 提供的模块)是 "out of sync"。解决这个问题可能就像摆脱 /usr/local/lib/python2.7/dist-packages/pkg_resources.py
一样简单,但是我无法告诉(没有更多上下文)该文件是如何到达那里的以及删除它的最干净的方法是什么。您可以尝试 sudo pip uninstall setuptools
,但请仔细检查以确保它只会接触 /usr/local
中的文件(您不希望 pip 破坏使用 apt 系统软件包安装的 setuptools 的版本)。
pip-accel 0.22 不喜欢 pip 1。5.x
您提到:
I am using pip from the Ubuntu repos (pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)) but it appears to be downloading it again (because it doesn't like 1.5.x?)
这是正确的,pip-accel 0.22 需要低于 1.5 的 pip 版本。今天我发布了 pip-accel 0.23,它使用了更新版本的 pip(它需要 pip 6,如果 pip 不更改其版本控制方案以使次要数字成为主要数字,这就是 pip 1.6 的样子,但我离题了) .
pip-accel 和虚拟环境
您还提到:
if there's another way to use pip-accel (e.g. install it into the target virtualenv) I'm all ears, but it doesn't seem like it
这让我感到惊讶,因为 pip-accel 的主要用例(如其 README 中所述)是将其安装在 Python 虚拟环境中,您要使用 pip 安装 Python 软件包-加速。所以这应该可以正常工作,请尝试一下!