當你需要一個方法,可以簡便的遷移或複製虛擬環境到其他電腦上時,可以使用這個腳本一鍵創建虛擬環境並分享給你的朋友。 ...
核心思路
首先,對方電腦上需要已經配置好 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 批處理命令的使用方法,若有不足,請多指教。