使用的virtualenv在路径空间(Using virtualenv with spaces in

2019-07-21 20:32发布

我成立了一个环境的virtualenv我的Mac上,但不能得到画中画安装软件包。 它失败,出现以下错误:

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

我跟踪这个问题到那里是在路径上的空间,在这里回答: https://stackoverflow.com/a/10873611/126564
(路径为/Volumes/Macintosh HD/Python/my_project

但是,这是有点问题的。 所提出的解决方案是:

“只要把你的virtualenv环境的路径没有空格,”

与空间部分是卷本身。 我所有的路径将有一个空间,除非我存储他们的目录/ 。 我不认为“存储的用户空间之外你的东西”是一个很好的解决方案。

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

Answer 1:

尝试此:

  • 编辑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的)。



Answer 2:

需要注意的是你没有使用你的项目文件夹的virtualenv。 例如,您可以将您的virtualenv到/ tmp目录文件夹或不带空格的任何其他文件夹:

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


Answer 3:

我有另一种解决办法-你只需要使用pip而不是 pip 脚本 。 例如:

python -m pip install .

甚至:

python -m pip install -U pip

对我来说就像一个魅力,并且不需要在文件中的变化。



Answer 4:

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



Answer 5:

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

$ virtualenv /Volumes/Macintosh\ HD/venvpath

你可以做

$ virtualenv /venvpath

这并不是说我想纵容软件不处理文件名中的空格。 我同意雨果的评论上面:密切关注的相关问题GitHub的 。



Answer 6:

作为2018的最新版本结束的pipvirtualenv应对VENV DIR正确的空间。

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



文章来源: Using virtualenv with spaces in a path