使用系统 python 通过 GitBash 创建 Windows virtualenv?

chr*_*ney 3 python windows virtualenv python-3.x git-bash

我注意到我在 GitBash 中创建的 virtualenv 没有使用 venv 的 python/pip 可执行文件,并且 pip 正在尝试将东西安装到系统站点包中。我确信上次检查时它工作正常,所以我不确定出了什么问题/出了什么问题,但这让我感到困惑,因为从角度来看我已经做了所有正确的事情。

我错过了什么?

我的重现步骤非常简单:

chris@windows-pc  MINGW64 ~
$ which python
/c/Program Files/Python37/python

chris@windows-pc  MINGW64 ~
$ which pip
/c/Program Files/Python37/Scripts/pip

chris@windows-pc  MINGW64 ~
$ python -m venv /c/venvs/test

chris@windows-pc  MINGW64 ~
$ . /c/venvs/test/Scripts/activate
(test)
chris@windows-pc  MINGW64 ~
$ which python
/c/Program Files/Python37/python
(test)
chris@windows-pc MINGW64 ~
$ which pip
/c/Program Files/Python37/Scripts/pip
(test)
chris@windows-pc  MINGW64 ~

Run Code Online (Sandbox Code Playgroud)

我已尝试使用上述命令和.source并且行为是相同的。

  • 蟒蛇是3.7.3
  • 窗户是 10
  • 我不确定如何确定该系统上的 gitBash 版本

chr*_*ney 7

我发现问题是激活脚本中存在错误,该脚本具有C:\path\to\envVIRTUAL_ENV 环境变量的 Windows 样式路径 ( )。

因此,路径设置不正确,并且 virtualenv 的 Scripts 目录未正确添加到路径中(它在那里,但冒号C:\和反斜杠意味着该条目无效)。

手动编辑激活脚本并更改为 unix 样式路径解决了该问题。

venv在 gitbash/windows 环境中运行时,这似乎是 python 模块中的错误