Python3 虚拟环境迁移复制一键脚本 on Windows,因此,可以写出一个一
Python3 虚拟环境迁移复制一键脚本 on Windows,因此,可以写出一个一
核心思路
首先,对方电脑上需要已经配置好 Python 环境变量,可以直接使用 python 指令运行,而虚拟环境之间相差的只有 Python 版本构建出来的虚拟环境。
因此,可以写出一个一键将当前目录构建成虚拟环境的脚本。
笔者在 Windows 系统上使用 Python,因此为了向下兼容,使用了 bat 文件作为脚本语言。
准备工作
为了开箱即用,可以把 python 包先保存下来。
以下命令会进入虚拟环境,生成包列表,然后使用 pip 下载到 whls
文件夹下。
@echo off
:: 进入虚拟环境
call .\venv\Scripts\activate.bat
:: 生成requirements.txt
pip freeze > requirements.txt
:: 获取whls文件
mkdir whls
cd whls
pip download -r ..\requirements.txt
迁移工作
然后,将你的源代码文件和 whls
文件夹打包即可。
在另外一个电脑上,再次创建虚拟环境并安装我们已经准备好的包,脚本如下。
@echo off
:: 作者:ZHider
:: 判断python大版本>=3.4
echo 1. Judging Python version...
FOR /F "tokens=2,3* delims=. " %%i in ('python --version') do (
IF NOT %%i GEQ 3 (
echo Python3 not detected!
pause
goto eof
)
IF %%j LSS 4 (
echo Python3 version less than 3.4!
pause
goto eof
)
)
:: 创建虚拟环境
echo 2. Creating Python virtual environment...
python -m venv venv
:: 进入虚拟环境
echo 3. Activate virtual environment...
call .\venv\Scripts\activate.bat
:: 安装模块
echo 4. Installing pip modules...
pip install --no-index --find-links=.\whls -r .\requirements.txt
:: 运行命令
set curd=%~dp0%
echo.
echo %curd:~0,-1%^>python eims_arg.py -h
python eims_arg.py -h
echo.
call cmd
:eof
在判断 Python 版本时,你可以定义自己的任何条件,修改一下即可。
最后的运行命令部分可以是任何命令,此处使用了程序的帮助命令,查看程序是否正常运行。
笔者花了一晚上学习了一下 bat 批处理命令的使用方法,若有不足,请多指教。
参考:https://www.cnblogs.com/yhleng/p/9921641.html
评论关闭