运行virtualenv时,Errno 13权限被拒绝

当尝试在Mac OS X上使用预安装的Python 2.7创建virtualenv时,出现以下错误:

Could not install packages due to an EnvironmentError: 
  [Errno 13] Permission denied: '/lib'

全输出:

▶ virtualenv ./virtualenv               
New python executable in /Users/alexharvey/git/home/sam-test/virtualenv/bin/python2.7
Also creating executable in /Users/alexharvey/git/home/sam-test/virtualenv/bin/python
Installing setuptools, pip, wheel...                    

  Complete output from command /Users/alexharvey/gi...ualenv/bin/python2.7 - setuptools pip wheel:
  Looking in links: /usr/local/lib/python2.7/site-packages, /usr/local/lib/python2.7/site-packages/virtualenv_support, /usr/local/lib/python2.7/site-packages/virtualen
v_support                                                                                                                                                             
Collecting setuptools                                                       
  Using cached https://files.pythonhosted.org/packages/37/06/754589caf971b0d2d48f151c2586f62902d93dc908e2fd9b9b9f6aa3c9dd/setuptools-40.6.3-py2.py3-none-any.whl      
Collecting pip                                                          
Collecting wheel                                                                                                                                                      
  Using cached https://files.pythonhosted.org/packages/ff/47/1dfa4795e24fd6f93d5d58602dd716c3f101cfd5a77cd9acbe519b44a0a9/wheel-0.32.3-py2.py3-none-any.whl           
Installing collected packages: setuptools, pip, wheel                                                                                                                 
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/lib'
Consider using the `--user` option or check the permissions.                                                                                                          

----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 11, in <module>
    sys.exit(main())                                                                                                                                                  
  File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 762, in main                                                                                      
    symlink=options.symlink,
  File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 1015, in create_environment
    install_wheel(to_install, py_executable, search_dirs, download=download)
  File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 968, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)                                                                                              
  File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 854, in call_subprocess
    raise OSError("Command {} failed with error code {}".format(cmd_desc, proc.returncode))
OSError: Command /Users/alexharvey/gi...ualenv/bin/python2.7 - setuptools pip wheel failed with error code 1

我看到以前经常在这里问过类似这样的问题(例如here),但似乎建议使用sudo来提高答案,这显然是错误的.

请注意,我遵循此页面上的建议:Using python effectively on Mac OS X.

如何解决此问题(不使用sudo)?

解决方法:

如评论中所建议,自定义Distutils配置文件存在问题.该文件显然可以放在三个位置之一(ref):

>系统:<前缀> /lib/pythonver/distutils/distutils.cfg
>个人:$HOME / .pydistutils.cfg
>本地:setup.cfg

同时,我根据此SO答案here创建了setup.cfg,内容为:

[install]
prefix=

我再也记不清为什么咨询过该答案,或者为什么将该文件放在那里了,但是在删除它之后,virtualenv再次正常工作,而且我再也没有其他问题了.

上一篇:python-ModuleNotFoundError:没有名为“ pip.commands”的模块


下一篇:打造完美Python环境(pyenv, virtualenv, pip)