背景
- 従業員数200名以上の営利企業でのAnaconda利用が有償化された.
概要
- Anacondaの有償化を受けてMiniconda+conda-forge環境に引越しをしたので, 手順をまとめた.
- Pythonパッケージ一覧を出力するbatファイルを作成した.
- Pythonパッケージ一覧を一括でインストールするbatファイルを作成した.
- pip版とconda版あり.
本記事で触れない内容
- 仮想環境関連
- **env(venv, pyenv, pipenv)
- docker
対象読者
- 新規にPythonをインストールする方
(以下, 新規Pythonユーザ). - すでにAnacondaを使用してPythonをインストールしている方
(以下, 既存Anacondaユーザ).- かつ, AnacondaをアンインストールしてMiniconda環境に移行する方.
作業環境
No. | 項目 | 想定 |
---|---|---|
1 | OS | Windows10 |
対応するGitHubリポジトリとQiita記事
-
GitHubリポジトリ:
-
Qiita記事:
作業手順
batファイルのダウンロード
-
git clone または zipのダウンロード を行い, batファイルを取得する.
-
git cloneできない方:
- 右上の「Code」を押下する.
- 「Download ZIP」を押下する.
- 任意の場所に保存する.
- zipファイルの解凍を行う.
-
git clone command:
git clone https://github.com/laplaciannin102/py_miniconda_env_construction.git
-
- batファイルの一覧(3種類)
No. | batファイル名 | 説明 |
---|---|---|
1 | no001_backup_python_packages.bat | - Pythonにおけるインストール済みパッケージの一覧をバックアップテキストファイルとして取得する. |
2 | no002_conda_install_from_files.bat | - conda install を使用して, テキストファイルから一括でパッケージをインストールする. |
3 | no003_pip_install_from_files.bat | - pip install を使用して, テキストファイルから一括でパッケージをインストールする. |
- 各batファイルで大体何をしているのかは, batファイルの中身概要を参照.
Anaconda環境から引越す準備
- 本手順は既存Anacondaユーザ向け手順である.
- 新規PythonユーザはMiniconda+conda-forge環境構築を参照.
-
インストール済みパッケージバックアップ用batファイルを実行する.
- ダブルクリック or 右クリックして「開く」 or 右クリックして「管理者として実行」
-
実行ファイル名:
- no001_backup_python_packages.bat
-
処理概要:
- インストール済みパッケージの一覧をバックアップテキストとして取得する.
- python_pkgs_filesという名前のディレクトリを作成し, その中にテキストファイルを格納する.
- Anacondaにプリインストールされているパッケージの一覧も同時に取得する.
- Anaconda package lists: https://docs.anaconda.com/anaconda/packages/pkg-docs/
-
出力先ディレクトリ:
- ./python_pkgs_files/
-
出力ファイル一覧:
- いわゆるrequirements.txtと同様のファイル群.
- yyyymmddは作業日付.
ファイル名 説明 conda_pkgs_list_raw.txt - condaのパッケージ一覧ファイル.
-conda list --export
で取得.conda_pkgs_list_eq_yyyymmdd.txt - condaのパッケージ一覧のversionを [package]==x.x.x で設定したファイル. conda_pkgs_list_geq_yyyymmdd.txt - condaのパッケージ一覧のversionを [package]>=x.x.x で設定したファイル. pip_pkgs_list_raw.txt - pipのパッケージ一覧ファイル.
-pip list --format freeze
で取得.
-pip freeze
だとversion部分がURLになってしまう場合がある.pip_pkgs_list_eq_yyyymmdd.txt - pipのパッケージ一覧のversionを [package]==x.x.x で設定したファイル. pip_pkgs_list_geq_yyyymmdd.txt - pipのパッケージ一覧のversionを [package]>=x.x.x で設定したファイル. anaconda_preinstall_pkgs_list_eq_yyyymmdd.txt - Anacondaにプリインストールされているパッケージの一覧ファイル.
- これを使用することで, Anaconda環境と同様のパッケージをインストール可能.anaconda_preinstall_pkgs_list_eq_sample.txt - sampleファイル.
- anaconda_preinstall_pkgs_list_eq_yyyymmdd.txtと同様の内容.
Anacondaのアンインストール
- 本手順は既存Anacondaユーザ向け手順である.
- 新規PythonユーザはMiniconda+conda-forge環境構築を参照.
-
Anaconda Promptを起動する.
-
次のコマンドを入力し, anaconda-cleanというパッケージをインストールする.
conda install anaconda-clean
-
次のコマンドを入力し, Anaconda関連のファイルやディレクトリを削除する.
- 各項目について確認しながら削除を行う場合:
anaconda-clean
- 各項目について確認せず一括で削除を行う場合:
anaconda-clean --yes
-
Windowsの場合, コントロールパネルを起動する.
-
プログラムと機能 > プログラムのアンインストール を開く.
-
Anacondaを選択し, アンインストールする.
- Anacondaの公式ドキュメント(Uninstalling Anaconda)も参照のこと.
Miniconda+conda-forge環境構築
-
Minicondaのインストーラを下記URLからダウンロードする.
-
インストーラを実行し, Minicondaをインストールする.
- 「Miniconda3~.exe」を実行する. セットアップウィザードが表示される.
- 最初の画面で, 「Next」を押下する.
- 「I Agree」を押下する.
- Install forはJust Meのまま「Next」を押下する.
- インストール先の指定では任意の場所を指定して, 「Next」を押下する.
- 好みが無い方は初期設定のままでok.
- 「Add Miniconda3 to my PATH environment variable」にチェックを入れる.
- 「Install」を押下する.
- インストールされるので待機する.
-
(インストール済みMinicondaの)Anaconda Promptを立ち上げる.
- Windows10の場合, 左下の虫眼鏡アイコンから検索に「anaconda prompt」と入力すれば表示される.
- Anaconda Prompt(Miniconda3) というソフト名.
- 他cmdなどのコマンドラインでも可能.
-
次のコマンドを入力し, condaのチャネルの設定にconda-forgeチャネルを追加する.
conda config --add channels conda-forge
-
次のコマンドを入力し, condaのチャネル一覧を確認する.
conda config --show channels
-
conda config --get channels
でも可能.
-
-
次のコマンドを入力し, condaのチャネルの設定からdefaultsチャネルを削除する.
conda config --remove channels defaults
-
次のコマンドを入力し, condaのチャネル一覧を確認する. チャネル一覧からdefaultsが消えていることを確認する.
conda config --show channels
-
conda config --get channels
でも可能.
-
-
次のコマンドを入力し, conda自体を最新版にUpdateする.
conda update conda
-
次のコマンドを入力し, インストール済みパッケージを全て最新版にUpdateする.
- ※Miniconda使用のため, 不要.
conda update --all
-
パッケージインストール用batファイルを実行する.
- ダブルクリック or 右クリックして「開く」 or 右クリックして「管理者として実行」
- 使用するパッケージ管理ツール毎に実行するbatファイルが異なる.
- condaの場合:
- no002_conda_install_from_files.bat
- pipの場合:
- no003_pip_install_from_files.bat
- condaの場合:
- 「>>○○」という行は, 裏でどのようなコマンドが実行されてるか参考までに表示しているもの.
- コマンドライン(黒い画面)が立ち上がる. 次のsampleの様に, 「list of files in python_pkgs_files」の下にインストール対象となるパッケージ一覧が記載されたテキストファイルが一覧表示されていることを確認する.
-
新規Pythonユーザは「anaconda_preinstall_pkgs_list_eq_sample.txt」しか表示されない.
- anaconda_preinstall_pkgs_list_eq_yyyymmdd.txt
- Anacondaにプリインストールされているパッケージの一覧ファイル.
- これを使用することで, Anaconda環境と同様のパッケージをインストール可能.」
- anaconda_preinstall_pkgs_list_eq_yyyymmdd.txt
-
sample
list of files in python_pkgs_files >>call dir /b python_pkgs_files ======================================== anaconda_preinstall_pkgs_list_eq_20210330.txt anaconda_preinstall_pkgs_list_eq_sample.txt conda_pkgs_list_eq_20210330.txt conda_pkgs_list_geq_20210330.txt conda_pkgs_list_raw.txt pip_pkgs_list_eq_20210330.txt pip_pkgs_list_geq_20210330.txt pip_pkgs_list_raw.txt ======================================== select a packages file name :
-
「select a packages file name : 」の右側に, インストールしたいテキストファイル名を入力し, Enterを押下する.
-
入力はコピペでOK!!
-
[推奨] Anacondaで元々プリインストールされていたパッケージを全てインストールする場合は, 「anaconda_preinstall_pkgs_list_eq_yyyymmdd.txt」または「anaconda_preinstall_pkgs_list_eq_sample.txt」を選択する.
-
次のsampleは「pip_pkgs_list_geq_20210330.txt」を選択した例.
-
sample
list of files in python_pkgs_files >>call dir /b python_pkgs_files ======================================== anaconda_preinstall_pkgs_list_eq_20210330.txt anaconda_preinstall_pkgs_list_eq_sample.txt conda_pkgs_list_eq_20210330.txt conda_pkgs_list_geq_20210330.txt conda_pkgs_list_raw.txt pip_pkgs_list_eq_20210330.txt pip_pkgs_list_geq_20210330.txt pip_pkgs_list_raw.txt ======================================== select a packages file name : pip_pkgs_list_geq_20210330.txt
-
-
pipの場合, 「Do you want to install it as a user??」とユーザインストールを行うか聞かれるので, ユーザインストールする場合は「y」(Yesの意味), そうでない場合は「n」(Noの意味)を入力し, Enterを押下する.
- 「y」を選択すると,
pip install --user [package]
を行う. - ユーザインストールが分からない方:
- 「管理者権限がある」かつ「どのユーザもパッケージを使用したい」: n
- それ以外: y
- 迷った場合, 「y」を推奨.
- 「y」を選択すると,
-
パッケージの一括インストールが開始される.
- 複数のパッケージ管理ツールを使用する場合, 複数のテキストファイルからパッケージをインストールする場合は10の手順を複数回実行する.
- [注意事項] condaを使用して大量のインストールを行うと何時間もかかる場合があるので, 放置しておく.
[終わり]
Appendix
batファイルの中身概要
-
詳しくはGitHubリポジトリからbatファイルを直接見てください.
-
no001_backup_python_packages.bat
set py_pkgs_files_dpath=python_pkgs_files rem ディレクトリを作成する. echo make directory for packages files call mkdir %py_pkgs_files_dpath% rem エラー対策のアップデート echo command1 to avoid conda errors echo y|call conda install anaconda rem エラー対策のアップデート echo command2 to avoid conda errors echo y|call conda update --all set conda_list_file0=%py_pkgs_files_dpath%/conda_pkgs_list_raw.txt rem condaのパッケージ一覧を出力する. echo output conda packages file call conda list --export > %conda_list_file0% set pip_list_file0=%py_pkgs_files_dpath%/pip_pkgs_list_raw.txt rem pipのパッケージ一覧を出力する. echo output pip packages file call pip list --format freeze > %pip_list_file0%
-
no002_conda_install_from_files.bat
rem ファイルから1行ずつ読み込んでconda installを行う. rem yesかnoか聞かれる場合があるので, 全てyes(y)で答える. rem input_pkgs_fpathにはファイルパスをセット. for /f %%l in (%input_pkgs_fpath%) do ( echo y|call conda install "%%l" )
-
no003_pip_install_from_files.bat
rem ファイルから1行ずつ読み込んでpip installを行う. rem input_pkgs_fpathにはファイルパスをセット. for /f %%l in (%input_pkgs_fpath%) do ( call pip install "%%l" )