53

我在 Mac 上设置了 virtualenv 环境,但无法让 Pip 安装软件包。它失败并出现以下错误:

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

我将问题追踪到路径中有一个空格,如下所示:https
://stackoverflow.com/a/10873611/126564 (路径为/Volumes/Macintosh HD/Python/my_project

但这有点问题。建议的解决方案是:

“只需将您的 virtualenv 环境放在没有空格的路径中,”

有空间的部分是体积本身。我所有的路径都会有一个空格,除非我将它们存储在/. 而且我不认为“将你的东西存储在用户空间之外”是一个好的解决方案。

有没有更好的解决方案?

4

6 回答 6

37

试试这个:

  • 编辑bin/activate、更改VIRTUAL_ENV='/Volumes/Macintosh HD/Python/my_project'和更改PATH="$VIRTUAL_ENV/bin:$PATH",以使其在您的环境中工作。用于echo $PATH检查它是否有效。
  • 编辑bin/pipand bin/easy_install,将两个文件中的第一行更改为

    #!/usr/bin/env python

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

于 2013-03-18T10:49:26.910 回答
18

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

virtualenv /tmp/temporary_virtualenv
virtualenv /home/my_envs/env_for_projectname
于 2013-06-10T11:28:38.940 回答
11

I have yet another workaround - you just need to use pip package instead of pip script. For example:

python -m pip install .

or even:

python -m pip install -U pip

For me works like a charm and doesn't require changes in files.

于 2018-02-07T13:12:00.260 回答
5

Editing the bin/activate file and escaping the spaces worked for me. Edit and save the file, then run source bin/activate.

于 2017-01-10T22:12:34.400 回答
3

除非您在 Mac 上设置了非典型驱动器,否则路径/Volumes/Macintosh HD应该是指向/. 换句话说,而不是

$ virtualenv /Volumes/Macintosh\ HD/venvpath

你可以做

$ virtualenv /venvpath

Not that I'm trying to condone software not handling spaces in file names. I agree with Hugo's comment above: keep an eye on the relevant GitHub issue.

于 2015-07-28T15:41:27.737 回答
2

As of end of 2018 the latest versions of pip and virtualenv deal with spaces in venv dir correctly.

See https://github.com/pypa/virtualenv/issues/53#issuecomment-434461292 .

于 2018-12-12T16:24:20.470 回答