仮想環境をオフラインで作成
作成した仮想環境のライブラリをダウンロードし、他の人が同じ環境を作れるようにする
ライブラリのダウンロード
ライブラリのリストを保存するファイル(requirements.txt)を作成し、ダウンロードしたファイルを保存するフォルダ(packages)にライブラリ(wheelファイル)をダウンロード
- 仮想環境をアクティベートする
.\.venv\Scripts\activate
- インストールされているライブラリをrequirements.txtに出力
pip freeze > requirements.txt
- requirements.txtを使い、packagesフォルダにライブラリ(wheelファイル)をダウンロードする
download -r requirements.txt -d packages
-
batファイル
- ダウンロードしたファイルを保存するフォルダ、ライブラリのリストを保存するファイルは変数として、変更しやすくしておく
- 同一フォルダ、ファイルが存在していた場合は削除する
@echo off
REM 仮想環境のディレクトリパスを指定
set VENV_DIR=.venv
REM ダウンロードしたファイルを保存するフォルダ名
set PACKAGES_FOLDER=packages
REM ライブラリのリストを保存するファイル名
set REQUIREMENTS_FILE=requirements.txt
REM 既存のフォルダやファイルがあれば削除
if exist %PACKAGES_FOLDER% (
rmdir /s /q %PACKAGES_FOLDER%
)
if exist %REQUIREMENTS_FILE% (
del %REQUIREMENTS_FILE%
)
REM 仮想環境をアクティベート
call .\%VENV_DIR%\Scripts\activate
REM インストールされているライブラリを取得し、wheelファイルをダウンロード
call pip freeze > %REQUIREMENTS_FILE%
call pip download -r %REQUIREMENTS_FILE% -d %PACKAGES_FOLDER%
REM 仮想環境をデアクティベート
call %VENV_DIR%\Scripts\deactivate
echo ライブラリのダウンロードが完了しました。
pause
仮想環境の作成 & ライブラリのインストール
- 仮想環境で使うpythonバージョンを設定
pyenv local 3.9.13
- 仮想環境を作成
python -m venv .\.venv
- 仮想環境をアクティベート
python -m venv .\.venv
-
ライブラリのインストール
準備したライブラリのリストrequirements.txtと、ライブラリをダウンロードしたpackagesフォルダと、
pip install -r requirements.txt --no-index --find-links=packages
-
batファイル
- 仮想環境名とpythonバージョンは変数名とする
- python設定されていた場合は仮想環境にアクティベート
- 仮想環境がすでにあった場合は削除
- エラーがあった場合コメントを出す
@echo off
REM Pythonのバージョンと仮想環境名を定義
set virtualenv_name=.venv
set python_version=3.9.13
REM プロジェクトのローカルディレクトリで
REM Pythonのバージョンが既に設定されているかチェック
call pyenv version | findstr /c:"%python_version%" >nul
IF %errorlevel% EQU 0 (
echo プロジェクトのローカルディレクトリで既に
echo Pythonのバージョン %python_version% が設定されています。
goto :CreateVirtualEnv
)
REM 既存の仮想環境が存在する場合は削除
IF EXIST .\%virtualenv_name% (
rmdir /s /q .\%virtualenv_name%
)
REM pyenvで使用するPythonのバージョンを指定
call pyenv local %python_version%
IF %errorlevel% NEQ 0 (
echo バージョン %python_version% のPythonがインストールされていません。
goto :EndScript
)
REM 仮想環境の作成
:CreateVirtualEnv
call python -m venv .\%virtualenv_name%
IF %errorlevel% NEQ 0 (
echo 仮想環境の作成に失敗しました。
goto :EndScript
)
REM 仮想環境のアクティベート
call .\%virtualenv_name%\Scripts\activate.bat
IF %errorlevel% NEQ 0 (
echo 仮想環境のアクティベートに失敗しました。
goto :EndScript
)
REM ライブラリのインストール
call pip install -r requirements.txt --no-index --find-links=packages
IF %errorlevel% NEQ 0 (
echo ライブラリのインストールに失敗しました。
goto :EndScript
)
echo 仮想環境の作成とライブラリのインストールが完了しました。
pause
:EndScript
chatGPTにも手伝ってもらって作成