2

每当我在桌面上创建一个文件夹并在终端上运行“virtualenv venv”时,一切正常。但是,当我尝试在我的“文档”文件夹中创建一个文件夹并运行“virtualenv venv”时,出现以下错误?任何建议为什么?

Andrews-MacBook-Pro:Python Virtualenv AndrewParkPhotography$ cd myproject
Andrews-MacBook-Pro:myproject AndrewParkPhotography$ ls
Andrews-MacBook-Pro:myproject AndrewParkPhotography$ virtualenv venv
New python executable in venv/bin/python
Installing setuptools............done.
Installing pip...
  Error [Errno 2] No such file or directory while executing command /Users/AndrewParkPho...env/bin/easy_install /Library/Python/2.7/...pport/pip-1.1.tar.gz
...Installing pip...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.7.1.2', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 928, in main
    never_download=options.never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1042, 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 640, in install_pip
    filter_stdout=_filter_setup)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 966, in call_subprocess
    cwd=cwd, env=env)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
4

1 回答 1

4

在这里找到答案(不能通过 pip 与 Virtualenv 安装

在没有空格的路径中创建您的 virtualenv 环境。这就是它发生的原因:

创建环境时,它会设置一个 bin 目录。在那个 bin 目录中是所有与环境相关的可执行文件。有些是脚本。您可能知道,hashbangs 用于告诉系统使用什么解释器来运行脚本。您可能会经常在脚本顶部看到这一点:

#!/usr/bin/env python

如果脚本位于 /tmp/test.py,则告诉系统运行此命令来执行脚本:

/usr/bin/env python /tmp/test.py

在您的情况下, virtualenv 正在创建这样的脚本:

#!/tmp/oh no/bin/python

当系统尝试执行它时,它会尝试使用参数 no/bin/python 和 /tmp/test.py 执行命令 /tmp/oh。/tmp/oh 不存在,所以失败

于 2012-06-03T20:14:57.850 回答