我正在运行OSX 10.10.2,以及最新的自制Python 2.7.9安装。由于某种原因 - 并且因为我很少在virtualenvs之外工作,并且最近没有创建任何东西,我不能说当这个改变了 - pip现在尝试将其二进制文件写入/usr
而不是自制二进制前缀。下面是pip本身的pip升级输出,以及二进制文件的版本/路径。我可以在我的环境中添加任何可能有助于此的内容。
~/projects/ideas $ pip install -U pip
Collecting pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-6.0.8-py2.py3-none-any.whl#md5=41e73fae2c86ba2270ff51c1d86f7e09
Using cached pip-6.0.8-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 6.0.6
Uninstalling pip-6.0.6:
Successfully uninstalled pip-6.0.6
Rolling back uninstall of pip
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/basecommand.py", line 232, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/commands/install.py", line 347, in run
root=options.root_path,
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/req/req_set.py", line 549, in install
**kwargs
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/req/req_install.py", line 751, in install
self.move_wheel_files(self.source_dir, root=root)
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/req/req_install.py", line 960, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/wheel.py", line 344, in move_wheel_files
generated.extend(maker.make(spec))
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/_vendor/distlib/scripts.py", line 323, in make
self._make_script(entry, filenames, options=options)
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/_vendor/distlib/scripts.py", line 227, in _make_script
self._write_script(scriptnames, shebang, script, filenames, ext)
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/_vendor/distlib/scripts.py", line 201, in _write_script
self._fileop.write_binary_file(outname, script_bytes)
File "/usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg/pip/_vendor/distlib/util.py", line 388, in write_binary_file
with open(path, 'wb') as f:
IOError: [Errno 13] Permission denied: '/bin/pip'
~/projects/ideas $ which pip && pip --version
/usr/local/bin/pip
pip 6.0.6 from /usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg (python 2.7)
~/projects/ideas $ which python && python --version
/usr/local/bin/python
Python 2.7.9
答案 0 :(得分:2)
这个问题的答案结果是~/.pydistutils.cfg
的存在,由于尝试调整安装路径而导致其中包含此内容:
[install]
prefix=
这会将所有python包安装的前缀重写为''
因此,如果你的pip / setuptools开始做奇怪的事情,请先检查这个文件。