权限阻止在Mountain Lion上使用virtualenvwrapper创建新的virtualenv

时间:2013-06-24 15:47:25

标签: macos permissions virtualenv virtualenvwrapper

当我尝试使用virtualenvwrapper创建一个新的virtualenv时出现错误。这是我正在尝试的命令:

mkvirtualenv -a . -i Flask ~/.virtualenvs/dcc-admin/

这是输出:

New python executable in /Users/raddevon/.virtualenvs/dcc-admin/bin/python
Installing setuptools......
  Complete output from command /Users/raddevon/.vir...dcc-admin/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" /Library/Python/2.7/...ols-0.6c11-py2.7.egg:
  Processing setuptools-0.6c11-py2.7.egg
Removing /Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg
error: /Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg: Permission denied
----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.9.1', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 979, in main
    no_pip=options.no_pip)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1091, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 611, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 583, in _install_req
    cwd=cwd)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1057, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/raddevon/.vir...dcc-admin/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" /Library/Python/2.7/...ols-0.6c11-py2.7.egg failed with error code 1

我以为我可以使用sudo解决这个问题,但这会给我sudo: mkvirtualenv: command not found

我已检查了导致错误的文件的权限,我的用户似乎具有读写权限。

Effective permission on the file in question for my user account

我不知道从哪里开始。 mkvirtualenv应该能够删除该文件,因为我拥有该文件的删除权限。或者,sudo应该能够运行mkvirtualenv。有人请告诉我我哪里出错了。

更新:我发现了部分问题。 virtualenvwrapper试图通过不同的Python解释器安装来运行Python命令,而不是我想要的。我使用-p开关来指定正确的解释器,这很有效。

我读到了这一点,显然,它应该使用与我的shell中默认的相同的解释器,但事实并非如此。 shell使用的解释器是/usr/local/bin/python但是virtualenvwrapper试图通过/Library/Python/...我仍然不确定为什么会这样。 /usr/local/bin是我的.zshrc中定义的最后一个python路径。

1 个答案:

答案 0 :(得分:0)

我目前找到了解决方法 virtualenv env -p /usr/local/bin/python