Python3 虛擬環境遷移複製一鍵指令碼 on Windows
阿新 • • 發佈:2022-04-22
核心思路
首先,對方電腦上需要已經配置好 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 批處理命令的使用方法,若有不足,請多指教。