在path中使用virtualenv和空格

我在我的Mac上build立了一个virtualenv环境,但无法让Pip安装软件包。 它失败,出现以下错误:

/Volumes/Macintosh: bad interpreter: No such file or directory 

我将问题追踪到path中存在空间,这里回答如下: https : //stackoverflow.com/a/10873611/126564
(正在/Volumes/Macintosh HD/Python/my_project的path)

但是这是一个问题。 build议的解决scheme是:

“把你的虚拟环境放在没有空间的路上”

但是有空间的部分就是音量本身。 我所有的path将有一个空间,除非我把它们存储在/目录。 我不认为“在用户空间之外存储你的东西”是一个很好的解决scheme。

有更好的解决办法吗?

尝试这个:

  • 编辑bin/activate ,改变VIRTUAL_ENV='/Volumes/Macintosh HD/Python/my_project' ,并改变PATH="$VIRTUAL_ENV/bin:$PATH" ,使其在你的环境中工作。 使用echo $PATH来检查它是否工作。
  • 编辑bin/pipbin/easy_install ,将两个文件的第一行改为

    #!/usr/bin/env python

经过上述2个步骤,您将使您的virtualenv作品(也是pip / easy_install)。

请注意,您不必为virtualenv使用您的项目文件夹。 例如,您可以将virtualenv放入/ tmp文件夹或任何其他没有空格的文件夹中:

 virtualenv /tmp/temporary_virtualenv virtualenv /home/my_envs/env_for_projectname 

编辑bin/activate文件和转义空间为我工作。 编辑并保存文件,然后运行source bin/activate

除非在Mac上有非典型的驱动器设置,否则path/Volumes/Macintosh HD应该是/一个符号链接。 换句话说,而不是

 $ virtualenv /Volumes/Macintosh\ HD/venvpath 

你可以做

 $ virtualenv /venvpath 

不是说我试图宽恕不处理文件名空间的软件。 我同意Hugo上面的评论 :关注相关的GitHub问题 。