无法使用 Python 2.7、Windows 在 Git Bash 上创建和激活虚拟环境

Tms*_*s91 4 windows pip virtualenv python-2.7 git-bash

我在 Windows 上使用 Git Bash 和 python 2.7,并且我想在虚拟环境中工作。

当我打字时

virtualenv venv
Run Code Online (Sandbox Code Playgroud)

重击 说

bash:virtualenv:找不到命令

这让我认为 virtualenv 没有安装,然后我尝试安装 virtualenv

pip install virtualenv
Run Code Online (Sandbox Code Playgroud)

但巴什再次说

bash:pip:找不到命令

然后通过阅读此线程python 2.7:cannotpiponwindows"bash:pip:commandnotfound"我发现它找不到 pip 目录,这可能与它找不到 virtualenv 目录的原因相同。所以我指定了pip的路径,然后再次尝试安装virtualenv

python -m pip install virtualenv
Run Code Online (Sandbox Code Playgroud)

它安装 virtualenv 但然后告诉

弃用:Python 2.7 将于 2020 年 1 月 1 日结束其生命周期。请升级您的 Python,因为该日期之后将不再维护 Python 2.7。pip 的未来版本将放弃对 Python 2.7 的支持。

所以我继续尝试通过输入激活我的 virtualenv

virtualenv venv
Run Code Online (Sandbox Code Playgroud)

正如我所料,我得到了与之前相同的错误

bash:virtualenv:找不到命令

我尝试以与 pip 相同的方式解决这个问题,方法是输入

python -m virtualenv venv
Run Code Online (Sandbox Code Playgroud)

这次 bash 响应为

$ python -m virtualenv venv C:\Users\Tommaso\DJANGO~1\UDEMYD~1\METAGL~2\venv\Scripts\python.exe 中的新 python 可执行文件安装 setuptools、pip、wheel...完成。

所以我猜它创建了名为 venv 的 virtualenv,但在我的 bash 终端中,我仍然在输入行末尾看到“(master)”,我猜这意味着虚拟环境未激活。我该如何激活它?

Tms*_*s91 6

解决了!
这就是我所做的。

首先,通过遵循这个SO答案,我发现如何让Git Bash默认使用python 3.7而不是python 2.7:

我用 Notepad++ 打开该文件aliases.sh,位于

C:<安装 Git Bash 的路径>\etc\profile.d\aliases.sh

下段

--show-control-chars:帮助显示韩语或重音字符

我添加了这些行,指示我要切换的两个版本的 python 所在的位置

alias python2='C:/<installation_path_of_python_2.7>/Python 2.7/python.exe' 
alias python='C:/<installation_path_of_python_3.7>/Python 3.7/python.exe' 

alias pip='C:/<installation_path_of_python_3.7>/Phyton/Scripts/pip.exe' 
alias virtualenv='C:/<installation_path_of_python_3.7>/Phyton/Scripts/virtualenv.exe' 
Run Code Online (Sandbox Code Playgroud)

您实际上并不需要最后两个,但它会对您有很大帮助,因为它使 Git Bash 能够调用 pip、virtualenv 和其他脚本,而无需python -m在脚本名称前写入。

您可以通过输入来检查您是否做对了

python -i
Run Code Online (Sandbox Code Playgroud)

它应该返回您指定的最新 python 版本。

然后如果我输入

python -m virtualenv venv
Run Code Online (Sandbox Code Playgroud)

它将虚拟环境安装在当前目录中

要激活它,只需输入

. venv/scripts/activate
Run Code Online (Sandbox Code Playgroud)

如果它有效,你应该看到

(venv)

靠近您的活动输入线。

要停用它,只需键入

deactivate
Run Code Online (Sandbox Code Playgroud)