无法使用mkvirtualenv,“site-packages / _markerlib”权限被拒绝

时间:2014-01-17 19:44:11

标签: python virtualenv

编辑,这似乎是一般权限问题:

The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was:
/Library/Python/2.7/site-packages/
Perhaps your account does not have write access to this directory?

我发现了这个问题,这正是我的问题,但我没有~/.pydistutils.cfg文件:

virtualenv: could not create '/lib/python2.7': Permission denied

我也确实安装了setuptools和命令行工具,如下所述:Error when ex mkvirtualenv in Mountain Lion

我用sudo安装了所有内容,但我不能在这里使用sudo:

sudo: mkvirtualenv: command not found

回溯:

mkvirtualenv myenv
......stuff here......

build/lib/setuptools/_backport/hashlib
running install_lib
creating /Library/Python/2.7/site-packages/_markerlib
error: could not create '/Library/Python/2.7/site-packages/_markerlib': Permission denied
----------------------------------------
...Installing Setuptools...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.10.1', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 821, in main
    symlink=options.symlink)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 961, in create_environment
    install_sdist('Setuptools', 'setuptools-*.tar.gz', py_executable, search_dirs)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 932, in install_sdist
    filter_stdout=filter_install_output)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 899, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/cbron/.virtualenvs/sam/bin/python setup.py install --single-version-externally-managed --record record failed with error code 1

1 个答案:

答案 0 :(得分:3)

sudo chown -R your-username:wheel /Library/Python/2.7/site-packages

您可能需要chmod dir的权限和/或卸载并重新安装virtualenv:

sudo pip uninstall virtualenv
sudo pip uninstall virtualenvwrapper
sudo pip install virtualenv 
sudo pip install virtualenvwrapper
echo "source `which virtualenvwrapper.sh`" >> ~/.bash_profile 
. ~/.bash_profile