LoginSignup
0
1

python 仮想環境(pyenv)をオフラインで作成

Posted at

仮想環境をオフラインで作成

作成した仮想環境のライブラリをダウンロードし、他の人が同じ環境を作れるようにする

ライブラリのダウンロード

ライブラリのリストを保存するファイル(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にも手伝ってもらって作成

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1