【ISSUE】Python + pipenv + DjangoをPyCharmで開発する

0

2024年12月23日 17:28

pipenv

簡単に言えば、複数のプロジェクトでpipを使う際にバージョン関係などを管理してくれるものです。pythonだとpyenv、rubyならrbenvなどがあります。

環境

  • Mac
  • Python(pyenv)
  • pip

Pythonはpyenvを使っています。pyenvについては省略します。

img

手順

pipenvのインストール

img

pipenvで仮想環境を作成

img

pipenv installで扱われるPythonのバージョンは、そのディレクトリで認識しているPythonのバージョンとなります。そのためディレクトリごとにPythonのバージョンを変更したい場合には、pyenvなどでpyenv local x.xx.xxxして、各自設定しておいてください。

PipfilePipfile.lockGemと同様でGemfile, Gemfile.lockと同じように扱います。そのためインストールしたいものがあれば、Pipfileに記述するか、コマンドでインストールすることになります。

仮想環境に入る場合には

img
で、仮想環境に入る事ができます。

ライブラリ群のインストール

ライブラリのバージョンを指定する場合にはバージョンを==の後に指定すればOKです

img

仮想環境に入って、ライブラリ群が正常にインストールされているか確認します。pipenv shellを実行するとpipenv installを実行したディレクトリ名の基でShellが起動します。(virtual_pip) $みたいな感じで

img
依存パッケージも同時にインストールされているので、実際に指定したライブラリより多くなっているはずです。

Djangoプロジェクトの作成

Djangoプロジェクトは仮想環境から作成します。そのため、作業する前に仮想環境に入っておきます。

img

今回作成するDjangoプロジェクトの名前をdjango-sampleとしておきます。

img

作成が完了したら、一旦仮想環境を抜けて、仮想環境が保存されているパスを確認します。このパスを次のPyCharmの設定の時に使うのでメモかコピーをしておいてください。

img
pipenv --venvによって出力されるパスはそれぞれ異なりますので、この記事のを指定しても正常に動作しません。

PyCharmのセッティング

PyCharmを起動したら、起動画面よりOpenを選択して作成したDjangoプロジェクトを選択します。この時選択するのはpipenv --venvで出力されたものではなく、Djangoプロジェクト本体です。この記事では/Users/nomunomu/Desktop/virtual_pip/django_sampleになります。

スクリーンショット 2018-12-09 23.18.15.png

プロジェクトを開いたら、Command + ,でPreferenceを開きます。そしたら、検索のところでproject interpreterと打ち込むと以下のような画面がでてきます。この画面で、右上のギアマークを選択し、Add Localを選択します。
スクリーンショット 2018-12-09 23.21.27.png

そうしたら、フォルダ選択画面になるので、先ほどメモしたディレクトリまで移動します。そのフォルダの中にbinフォルダが存在していて、その中にpythonというファイルが存在します。そのファイルを選択して、OKします。
スクリーンショット 2018-12-09 23.32.42.png

そうすると、Project Interpreterの画面がこのような感じに変わると思います。
スクリーンショット 2018-12-09 23.35.22.png

ウィンドウ右下のOKを押すと、このプロジェクトをPyCharmで開くと自動的に仮想環境の設定を読み込んでくれるようになります。なので、PyCharm付属のターミナルを設定後に開くと、自動的に仮想環境内でターミナルを開いているのと同じ状態になります。
スクリーンショット 2018-12-09 23.41.48.png

これによって自動的にデバッグも仮想環境のDjangoを使って起動する事ができます。
スクリーンショット 2018-12-09 23.44.09.png

まとめ

とりあえず、この設定方法さえできてしまえば、複数プロジェクトでバージョンの異なるライブラリを利用する時にも、簡単に複数のpipを共存させる事ができます。以上です!
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。