如何在windows系统的bat批命令脚本里激活python3 venv虚拟环境

发布于 2021-05-31 21:47:04

首先本文所指的虚拟环境是通过python3 命令python -m venv xxxx创建的。
python -m venv D:\python\env\test

那么该环境的启动脚本在:D:\python\env\test\Scripts\activate.bat

如果我们在cmd启动test环境,直接输入上面这个路径即可。
但是如何在bat脚本里激活虚拟环境呢?

其实很简单,就是把D:\python\env\test\Scripts\activate.bat的内容复制到你的bat脚本里,并且放在你的代码前面,这样在运行这个批命令就会自动激活虚拟环境了。如:

@echo off

rem This file is UTF-8 encoded, so we need to update the current code page while executing it
for /f "tokens=2 delims=:." %%a in ('"%SystemRoot%\System32\chcp.com"') do (
    set _OLD_CODEPAGE=%%a
)
if defined _OLD_CODEPAGE (
    "%SystemRoot%\System32\chcp.com" 65001 > nul
)

set VIRTUAL_ENV=D:\python\env\test

if not defined PROMPT set PROMPT=$P$G

if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT%
if defined _OLD_VIRTUAL_PYTHONHOME set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%

set _OLD_VIRTUAL_PROMPT=%PROMPT%
set PROMPT=(test) %PROMPT%

if defined PYTHONHOME set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
set PYTHONHOME=

if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%
if not defined _OLD_VIRTUAL_PATH set _OLD_VIRTUAL_PATH=%PATH%

set PATH=%VIRTUAL_ENV%\Scripts;%PATH%

:END
if defined _OLD_CODEPAGE (
    "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
    set _OLD_CODEPAGE=
)

echo "上面的代码,是从D:\python\env\test\Scripts\activate.bat复制出来的,激活test环境"
pause
0 条评论