无法在OSX上运行virtualenv?

时间:2012-11-11 23:38:59

标签: python macos python-2.7 virtualenv pip

sudo virtualenv foo

New python executable in foo/bin/python
Installing setuptools.............done.
Installing pip....
  Complete output from command /private/tmp/foo/bin/python -x /private/tmp/foo/bin/easy_install /Library/Python/2.7/...ort/pip-1.2.1.tar.gz:
  /private/tmp/foo/bin/python: can't open file '/private/tmp/foo/bin/easy_install': [Errno 2] No such file or directory
----------------------------------------
...Installing pip...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.8.2', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 942, in main
    never_download=options.never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1054, in create_environment
    install_pip(py_executable, search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 655, in install_pip
    filter_stdout=_filter_setup)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1020, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /private/tmp/foo/bin/python -x /private/tmp/foo/bin/easy_install /Library/Python/2.7/...ort/pip-1.2.1.tar.gz failed with error code 2

virtualenv foo

New python executable in foo/bin/python
Installing setuptools.............................
  Complete output from command /private/tmp/foo/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" /Library/Python/2.7/...ols-0.6c11-py2.7.egg:
  error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/test-easy-install-1712.write-test'

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?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  http://peak.telecommunity.com/EasyInstall.html

Please make the appropriate changes for your system and try again.

----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.8.2', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 942, in main
    never_download=options.never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1052, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 599, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 571, in _install_req
    cwd=cwd)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1020, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /private/tmp/foo/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






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

我正在运行Python 2.7.3并且没有安装任何软件包,除了默认情况下,OSX Mountain Lion上的pip和virtualenv。

2 个答案:

答案 0 :(得分:6)

你的Python安装有些搞砸了。

首先,运行sudo virtualenv foo没有任何意义。 virtualenv的重点是,您不需要root访问权来安装包。您将从不需要sudo才能使用virtualenv。

其次,Mountain Lion默认不包含/Library/Python/2.7/site-packages/virtualenv.py。有什么东西安装在那里,所以当你说“没有安装任何软件包,除了默认情况下”,你就错了。根据您的安装方式,可能安装错误。

看来即使您正在创建virtualenv,它也会尝试将软件包安装到/Library/Python/2.7/site-packages/中,这是不可能的。可能是您使用sudo easy_install安装virtualenv,还是手动将一些软件包放在/Library/Python/2.7/site-packages/中?

我建议你不要安装和卸载你安装的任何东西,让你的系统恢复到标准的Mac OS X设置,然后使用virtualenv-burrito,这是一个一步的命令,将安装virtualenv和无需任何思考就可以为您提供:https://github.com/brainsik/virtualenv-burrito

答案 1 :(得分:4)

哎呀,忘了写这个问题的答案。

我的Python目录有一大堆权限和包相关的问题;最后完成了卸载,然后从Python.org安装了最新版本。

此后一直很好。