【问题标题】:pip install permission errorpip安装权限错误
【发布时间】:2015-09-05 18:25:55
【问题描述】:

我最近刚刚通过自制软件重新安装了 Python 2 和 Python 3,一切看起来都还不错。但是,我在安装 python 后更新了pip3pip,然后在尝试安装 virtualenv 时,出现以下错误:

~> pip install virtualenv Collecting virtualenv Downloading virtualenv-13.1.2-py2.py3-none-any.whl (1.7MB) 100% |

████████████████████████████████| 1.7MB 361kB/s Installing collected 
packages: virtualenv Exception: Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/pip/basecommand.py", line 211, in main status = self.run(options, args) 
File "/usr/local/lib/python3.4/site-packages/pip/commands/install.py", line 311, in run root=options.root_path, File "/usr/local/lib/python3.4/site-packages/pip/req/req_set.py", line 646, in install **kwargs 
File "/usr/local/lib/python3.4/site-packages/pip/req/req_install.py", line 803, in install self.move_wheel_files(self.source_dir, root=root) 
File "/usr/local/lib/python3.4/site-packages/pip/req/req_install.py", line 998, in move_wheel_files isolated=self.isolated, File "/usr/local/lib/python3.4/site-packages/pip/wheel.py", line 479, in move_wheel_files maker.make_multiple(['%s = %s' % kv for kv in console.items()]) File "/usr/local/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py", line 364, in make_multiple filenames.extend(self.make(specification, options)) 
File "/usr/local/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py", line 353, in make self._make_script(entry, filenames, options=options) 
File "/usr/local/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py", line 257, in _make_script self._write_script(scriptnames, shebang, script, filenames, ext) File "/usr/local/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py", line 231, in _write_script self._fileop.write_binary_file(outname, script_bytes) 
File "/usr/local/lib/python3.4/site-packages/pip/_vendor/distlib/util.py", line 388, in write_binary_file with open(path, 'wb') as f: 
PermissionError: [Errno 13] Permission denied: '/usr/local/bin/virtualenv'

pip freeze 然后似乎认为 virtualenv 已安装,但它的命令都不起作用。

有趣的是,如果我尝试卸载 virtualenv,它似乎已附加到由 brew 安装的 Python 3 安装的 Python 2 版本 brew 安装。

Uninstalling virtualenv-13.1.2:
  /usr/local/lib/python3.4/site-packages/__pycache__/virtualenv.cpython-34.pyc
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/DESCRIPTION.rst
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/METADATA
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/RECORD
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/WHEEL
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/entry_points.txt
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/metadata.json
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/pbr.json
  /usr/local/lib/python3.4/site-packages/virtualenv-13.1.2.dist-info/top_level.txt
  /usr/local/lib/python3.4/site-packages/virtualenv.py
  /usr/local/lib/python3.4/site-packages/virtualenv_support/__init__.py
  /usr/local/lib/python3.4/site-packages/virtualenv_support/__pycache__/__init__.cpython-34.pyc
  /usr/local/lib/python3.4/site-packages/virtualenv_support/argparse-1.3.0-py2.py3-none-any.whl
  /usr/local/lib/python3.4/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl
  /usr/local/lib/python3.4/site-packages/virtualenv_support/setuptools-18.2-py2.py3-none-any.whl
  /usr/local/lib/python3.4/site-packages/virtualenv_support/wheel-0.24.0-py2.py3-none-any.whl
Proceed (y/n)? 

pip freeze 给了我:

 ~> pip freeze
pbr==1.6.0
virtualenv==13.1.2
virtualenv-clone==0.2.6
wheel==0.24.0

所以 virtualenv 已经安装,但由于某种原因无法正常工作。

【问题讨论】:

    标签: python python-3.x pip


    【解决方案1】:

    对于python 2.7,我相信pip 被pip2 引用。以sudo 运行命令可以轻松修复您的权限错误。

    【讨论】:

    • 谢谢,即使它是通过 brew 安装的(认为这个想法不是使用 sudo 安装任何东西,还是只是为了使用 brew 而不是 pip 安装?)
    猜你喜欢
    • 1970-01-01
    • 2011-05-20
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2021-01-28
    相关资源
    最近更新 更多