Python:環境構築

プログラム

環境構築とは

必要に応じてモジュールをインストール、アンインストール、バージョンの変更を行う。 また、これにあわせてpython自身のアップグレード、ダウングレードを行うこともある。 それぞれのモジュールは互いに他のモジュールやpython、そのバージョンに依存していることがあり、特にチームで開発を行うときにばらばらな環境で開発を行っていると、同じコードであっても同じように動作しないことが起こりうる。 一方で、一人が様々な開発に携わることもあり、その都度モジュールをインストール、アンインストールするのは非効率である。

そこで、一つのパソコンの中にいくつかの仮想環境を作り、つどそれを切り替えて作業に当たることが効率的である。 この作業に使用する仮想環境を用意することを環境構築という。

仮想環境の有効化

①pythonに標準で入っているvenvを使う ②Anacondaを使う

について説明する

①pythonに標準で入っているvenvを使う →コマンドプロンプトで学習用のフォルダを作りたい場所に作る(ここではDesktopにfuckというフォルダを作る→envという仮想環境を作る)

C:\Users\hogehogefugafua>cd Desktop
C:\Users\hogehogefugafua\Desktop>mkdir fuck
C:\Users\hogehogefugafua\Desktop>cd fuck
C:\Users\hogehogefugafua\Desktop\fuck>
C:\Users\hogehogefugafua\Desktop\fuck>python -m venv env

ここまでで仮想環境が作成される。以下で環境の有効化を行う

C:\Users\hogehogefugafua\Desktop\fuck>env\Scripts\activate.bat
(env) hogehogehoge...

先頭に(環境名)が表示されていれば成功

②Anacondaを使う(anaconda pronpt) →Anacondaをインストールして、anaconda pronptから行う。(ここではshitという仮想環境を作成する)

(base) C:\Users\hogehogefugafua>conda create -n shit python=(指定があればバージョンを指定する)

のコマンドで環境を作成、

(base) C:\Users\hogehogefugafua>activate shit

で、環境を有効化。

②Anacondaを使う(anacondaNavitor) →anacondaNavitorから作成する。

anacondanavigatorを起動、environments→createで作成する

![image][スクリーンショット 2022-06-14 144923.png]

なお各開発ツールによって環境選択する場所があるので、そこで使用したい環境を選択する。 ※jupyter labでは環境を選択するのにもう一工夫必要で、 pip install ipykernel python -m ipykernel install --user --name=環境名 のコマンドを実行する必要がある。(ほかにもやり方はいろいろあるがこれが一番ラク@6月時点。もっといい方法がないか研究中)

モジュールのインストール

①pipを使ってインストール ②condaを使ってインストール ③AnacondaNavigatorを使ってインストール

について説明する

①pipを使ってインストール →pipはPythonのモジュールを管理するためのツール。pythonをインストールすると標準で(python3.3以降)入っている →PyPIという場所にオープンソースで公開されているモジュールをインストールしてくる →種類が豊富

インストールしたい仮想環境を有効化した状態で、

pip install fuck
pip install fuck==バージョン名(これでバージョンを指定できる)
pip list  #インストールしてあるモジュール一覧を確認できる

コマンドでインストールすることができる。

②condaを使ってインストール →conda installを入力することで、anaconda で動作の確認をしている(anaconda公式)モジュールをインストールしてくる →conda forgeを入力することで、git-hubにあるconda-forgeというコミュニティからインストールしてくる。いちおう問題なく動作する、はず →いちおうpipコマンドでもインストールできる。 が、動作の保証はなく環境が壊れることもあるので 、どうしてもpipにしかモジュールが存在しない場合のみ使用する

上から順に動作が安定しているので、順にインストールを試す。

インストールしたい環境を有効化した状態で、以下のコマンドを実行する

conda list    # インストール済みのパッケージの中に、該当のパッケージがないことを確認する

conda search [パッケージ名]    # 公式リポジトリ内に存在するかどうか確認

conda install [パッケージ名]    # 公式リポジトリにあったらそこからインストール

conda search -c conda-forge [パッケージ名]    # 公式リポジトリになかったら conda-forge 内を検索

conda install -c conda-forge [パッケージ名]    # conda-forgeに存在したらそこからインストール

③AnacondaNavigatorを使ってインストール 以下スクショを参考

バージョンを指定してインストール ![image][スクリーンショット 2022-06-14 152557.png]

検索をかけて(②)、選択し(③)、インストール(④) ![image][スクリーンショット 2022-06-14 152920.png]

環境の共有

pipとanaconda環境によって共有方法が若干違う。

anacondaの場合

conda env export > fugafugafuga.yml #自分のanaconda環境を記述したファイルを吐き出し,メンバーと共有。

#受け取った yml ファイルを使って環境を再構築するには下記のコマンドを実行。

conda env create -n env_name_hogehoge -f fugafugafuga.yml

#yml ファイル内に環境名の指定がある場合、env_name_hogehoge は不要。

conda env create -f fugafugafuga.yml

pipの場合(実際に試していないのでリンク参照。たぶんそんな難しくない) 環境の共有にはrequirements.txtを利用しましょう。 requirements.txtについて

よく使うモジュールや注意点

  • Numpy(数値計算)・・・特になし。anacondaにもともと入っている
  • Pandas(データ処理)・・・特になし
  • scikit-learn(機械学習)・・・特になし
  • matplotlib(グラフ描画)・・・特になし。Pycharmで描画させようとするとそのままでは使えない。
  • prophet(周期性予測)・・・condaにはない。conda + pip でインストールしたら使用できた。
  • tensorflow(機械学習)・・・GPU使うやつとそうじゃないのがある。ややこしいので調査中
  • edward(確率計算)・・・tensorflowに依存し、新しいtensorflowとは一緒に動かない。tensorflow1.7.0では動作した。tensorflow1.7.0は新しいpythonでは使えない。python3.6.5で動作した。

依存関係のチェックに使える。工事中。。。 This is pipdeptree inline link. This is pipshow inline link.

コマンド一覧

工事中、、、

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です