初心者プログラマのひとり勉強部屋

若葉マークのプログラマー☺️

【python入門】anacondaとvenvでの仮想環境の作成・djangoアプリ作成

こんにちは!

仮想環境についてわからないままに使用しすぎていたため、

備忘録です。今回はdjangoでアプリ作成する際にanacondaとvenvでどちらが簡単か作って比較してみました。

 

まずpythonのバージョン管理をできるようにするため「pyenv」をインストールしました。pythonの開発環境を準備するのはprogateに記載あります。

https://prog-8.com/docs/python-env

 

 

■仮想環境を使うメリット

→環境によってパッケージやバージョンの管理ができる

 

■仮想環境の種類

①Anaconda(Anaconda navigator使用しています)

②venv(virtualenv)

・pyenv-virtualenv

他にもあるようです、、

※参考サイトさま

https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd

 

※自分が使用したのは ①condaと②venvです。

 

       ①Anaconda

こちらからダウンロードできます

https://www.anaconda.com/distribution/

■特徴

機械学習や計算機向け

pythonとよく利用されるライブラリをまとめてインストールできる

・Anaconda navigatorでGUIで環境ごとにパッケージ管理が楽にできます。

(読み込みが遅いですがインストール済みのパッケージを一覧で管理できます。

もちろんコマンドでもできます)

 

 

djangoアプリ作成

・仮想環境の作成・djangoインストール

まずは仮想環境を作成してpythonを入れます。

「environment」→「create」→「pythonのバージョン選択」→「create」

f:id:mocomo012:20200314111023p:plain

仮想環境の作成

→17パッケージがダウンロードされました。

次に作成した仮想環境を選択し、「django」で検索・インストールします

f:id:mocomo012:20200314111920p:plain

djongoのインストール

f:id:mocomo012:20200314112136p:plain

インストール確認

→無事にインストールできました。

 

djangoアプリの作成

仮想環境の矢印をクリックし、ターミナルを開きます。

f:id:mocomo012:20200314115041p:plain

ナビゲーターからコマンド起動

f:id:mocomo012:20200314203705p:plain

ターミナル

→仮想環境でターミナルに入りました

ここからコマンドラインでアプリを作成します。

$ mkdir conda-project  //※プロジェクトを作成するフォルダを作成

$ cd conda-project/ // ※フォルダに移動

 

djangoプロジェクトを作成します

$ django-admin startproject mocomosite

作成したサイトに移動します

$ cd mocomosite/

manage.pyを起動します

$ python manage.py runserver

f:id:mocomo012:20200314122302p:plain

mocomositeスタートページ

マイグレーションしてくださいのエラーが出ますがスタートページ表示完了です!

ここから設定など追加していってアプリ作成してください。

 

■仮想環境のactivate・deactivate

(activate) $ conda activate mocomo_django //※$conda activate 【仮想環境名】

(deactivate)$conda deactivate

 

※完全にコマンドで作成する場合はこちらのサイトが大変参考になります

https://qiita.com/arthur_1801/items/15bea5ea196d8afd1353

 

 

 

      ②venv </p>

■特徴

・pipでのパッケージの導入を環境ごとに管理

・必要最低限のライブラリしかインストールされない

・python3.6からはpyenvでなくvenvが推奨されているようです

公式ドキュメント

https://docs.python.org/ja/3/library/venv.html

 

djangoアプリ作成 

まず仮想環境を作成します(現在のディレクトリ配下に「venv-project」フォルダが作成されます)

$ python3 -m venv venv-project

 //venv-projectという名前の仮想環境を作る

ディレクトリ配下に移動します

$ cd venv-project/

 

■仮想環境のactivate・deactivate

(activate) フォルダ配下で$source bin/activate

または$source 【仮想環境名】/bin/activate

(venv-project) mocomoMacBook-Pro:~ mocomo$ //仮想環境に入っています

(deactivate)$deactivate

  

djangoインストール

仮想環境下でpipコマンドでインストールします

 

仮想環境のフォルダに移動します

$ cd venv-project/

pipを最新版にします

$ pip install --upgrade pip

ここでやっとdjangoをインストールします

$ pip install django

 

djangoアプリの作成

$ django-admin startproject mocomosite . //最後のピリオドはカレントディレクトリ配下に作成することを意味しています。(condaの時はつけていませんでしたが正常にカレントディレクトリ配下に作成されていました)

 

manage.pyを起動します

$ python manage.py runserver

f:id:mocomo012:20200314205248p:plain

スタートアップサイト

→表示できました!

 


■まとめ

ここから日本語設定したりDB設定したり色々ありますが、私の場合は機械学習に必要なライブラリもインストールも簡単なanacondaが使いやすいと思いました。

pipでインストールすると何かとエラーばかりで無駄に時間かかった記憶が😢

 

ただインストールパッケージ数が多いため、すごく容量使うし機能が決まっているアプリを作成する場合はvenvで必要なパッケージのみインストールの方が良いのではないでしょうか。

初学者の意見です🙇‍♀️🙇‍♀️

(私の場合はvenvでdjangoアプリ作成をしていましたが、後からjupyterを使用して試してからアプリに入れたい機能あり、一緒にanacondaを入れたという経緯です。)

 

 

■注意点

 ※condaコマンドとpipの共存は危険らしいです

※anacondaはデータサイエンティスト向けのようで、通常の仮想環境であればvenvなどを使用するのが良いそうです

 

 

■参考にさせていただきました

https://www.mathpython.com/ja/django-install/

https://www.sejuku.net/blog/68423#Python-2