【python入門】anacondaとvenvでの仮想環境の作成・djangoアプリ作成
こんにちは!
仮想環境についてわからないままに使用しすぎていたため、
備忘録です。今回はdjangoでアプリ作成する際にanacondaとvenvでどちらが簡単か作って比較してみました。
まずpythonのバージョン管理をできるようにするため「pyenv」をインストールしました。pythonの開発環境を準備するのはprogateに記載あります。
https://prog-8.com/docs/python-env
■仮想環境を使うメリット
→環境によってパッケージやバージョンの管理ができる
■仮想環境の種類
①Anaconda(Anaconda navigator使用しています)
・pyenv-virtualenv
他にもあるようです、、
※参考サイトさま
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
※自分が使用したのは ①condaと②venvです。
こちらからダウンロードできます
https://www.anaconda.com/distribution/
■特徴
・機械学習や計算機向け
・pythonとよく利用されるライブラリをまとめてインストールできる
・Anaconda navigatorでGUIで環境ごとにパッケージ管理が楽にできます。
(読み込みが遅いですがインストール済みのパッケージを一覧で管理できます。
もちろんコマンドでもできます)
■djangoアプリ作成
・仮想環境の作成・djangoインストール
まずは仮想環境を作成してpythonを入れます。
「environment」→「create」→「pythonのバージョン選択」→「create」
→17パッケージがダウンロードされました。
次に作成した仮想環境を選択し、「django」で検索・インストールします
→無事にインストールできました。
・djangoアプリの作成
仮想環境の矢印をクリックし、ターミナルを開きます。
→仮想環境でターミナルに入りました
ここからコマンドラインでアプリを作成します。
$ mkdir conda-project //※プロジェクトを作成するフォルダを作成
$ cd conda-project/ // ※フォルダに移動
djangoプロジェクトを作成します
$ django-admin startproject mocomosite
作成したサイトに移動します
$ cd mocomosite/
manage.pyを起動します
$ python manage.py runserver
マイグレーションしてくださいのエラーが出ますがスタートページ表示完了です!
ここから設定など追加していってアプリ作成してください。
■仮想環境のactivate・deactivate
(activate) $ conda activate mocomo_django //※$conda activate 【仮想環境名】
(deactivate)$conda deactivate
※完全にコマンドで作成する場合はこちらのサイトが大変参考になります
https://qiita.com/arthur_1801/items/15bea5ea196d8afd1353
■特徴
・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
→表示できました!
■まとめ
ここから日本語設定したりDB設定したり色々ありますが、私の場合は機械学習に必要なライブラリもインストールも簡単なanacondaが使いやすいと思いました。
pipでインストールすると何かとエラーばかりで無駄に時間かかった記憶が😢
ただインストールパッケージ数が多いため、すごく容量使うし機能が決まっているアプリを作成する場合はvenvで必要なパッケージのみインストールの方が良いのではないでしょうか。
初学者の意見です🙇♀️🙇♀️
(私の場合はvenvでdjangoアプリ作成をしていましたが、後からjupyterを使用して試してからアプリに入れたい機能あり、一緒にanacondaを入れたという経緯です。)
■注意点
※condaコマンドとpipの共存は危険らしいです
※anacondaはデータサイエンティスト向けのようで、通常の仮想環境であればvenvなどを使用するのが良いそうです
■参考にさせていただきました