在路径中使用虚拟环境时包含空格

53 投票
6 回答
12821 浏览
提问于 2025-04-17 19:28

我在我的Mac上设置了一个虚拟环境,但无法用Pip安装软件包。它出现了以下错误:

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

我发现问题出在路径中有一个空格,具体可以参考这里的回答: https://stackoverflow.com/a/10873611/126564
(这个路径是 /Volumes/Macintosh HD/Python/my_project

但这就有点麻烦了。建议的解决办法是:

“把你的虚拟环境放在没有空格的路径中,”

但是 有空格的部分是卷标本身。 除非我把它们存放在 / 目录下,否则我的所有路径都会有空格。而我觉得“把你的东西放在用户空间外面”并不是一个好的解决办法。

有没有更好的解决方案呢?

6 个回答

11

我还有一个解决办法——你只需要用 pip 来代替 pip 脚本。比如说:

python -m pip install .

甚至可以这样:

python -m pip install -U pip

对我来说,这个方法非常有效,而且不需要改动任何文件。

18

请注意,你不一定要把虚拟环境放在你的项目文件夹里。比如,你可以把虚拟环境放在/tmp文件夹,或者其他没有空格的文件夹里:

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

试试这个方法:

  • 编辑 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

完成以上两个步骤后,你的虚拟环境就能正常工作了(包括 pip 和 easy_install)。

撰写回答