初投稿です。
今まではnotepad++を使ってコードを書いていたのですが色々便利ということでVScodeを使おうと思い立ちました。
pythonの勉強用なのですが、せっかくならpipenvとか使って管理しやすいようにしたいなーと思って環境を作ってました。
しかしwarningが消えなかったり色々苦戦したので、備忘録的にここに残しておこうと思います。
今回構築する環境は以下になります。
-OS:windows10
-Python:3.8
-使用ライブラリ:pipenv、Django
#1.VScodeのインストール
以下ページから自分の環境にあったものをインストールしてください。
https://code.visualstudio.com/download
#2.pythonのインストール
以下ページから環境に沿った欲しいバージョンのものをダウンロードしてインストールしてください。
https://www.python.org/downloads/windows/
また、windowsの場合途中に環境変数を追加するチェックボックスがあるはずなので、忘れずにチェックをいれてください。
("Add pythonX.X to PATH"みたいな文言のチェックボックスがあります。)
インストールしたら一応以下コマンドでインストールが完了していることを確認しましょう。
python --version
バージョン情報が表示されたら正常にインストールされたということです。
(PATHが通ってなかったらここでコマンドを認識できないと思います。)
#3.Pipenvをインストールする。
2からそのままインストールしちゃいましょう。
以下のコマンドを実行してください。
pip install pipenv
pipenvのインストールが完了したら環境変数の追加を行います。
以下の環境変数を追加し、値を"true"に設定してください。
PIPENV_VENV_IN_PROJECT
これを実施することでpipenvで仮想環境を作った際にワークディレクトリに".venv"フォルダ作られるようになります。
この環境変数を追加しなかった場合、ユーザフォルダ配下に作成されてしまいます。
それでも問題ないのですが、後々VScode上で環境及びフォルダを管理するときに地味に面倒くさいので設定しておくことをお勧めします。
#4.VScodeを設定していく。
1.サイドバーのExtentionsから以下を検索してインストールしてください。
(Pythonの便利ツールパッケージ。Lint機能とか、自動インデントとかやってくれる。)
python extension for visual studio code
2."ファイル"→"基本設定"で設定を開き、"拡張機能"→"python"の中の"Python: Venv Path"に以下を設定する。
.venv,
これを設定するとワークスペースを開いた際に直下にある.venvフォルダを読み込んでくれるようです。
3.一旦VScodeを再起動。ここまでの設定を読み込ませます。
4.ここから本格的に環境を作っていきます。
"ファイル"→"フォルダーを開く"から自分が作業するフォルダを開きます。
5."ターミナル"→"新しいターミナル"と選択しターミナルを開きます。
6.pipenvで仮想環境を作っていきます。ターミナルで以下コマンドを実行してください。
pipenv install
この時右下に「仮想環境作られたみたいやけど、使うん?」みたいなことを英語で聞かれるので"YES"を選びましょう。
すると以下のようなフォルダ構成になると思います。
.
├─.venv ←pipenvで作られる
├─.vscode ←Yesをクリックしたら作られる
├─Pipfile ←pipenvで作られる
└─Pipfile.lock ←pipenvで作られる
.vscodeが作られなかった(もしくはNoをクリックしてしまった場合)ワークスペース直下に適当な名前の.pyのファイルを作りましょう。そしたら作られるはずです。
7.ワークスペース直下に".env"という名前のフォルダを作って以下を記述します。
PYTHONPATH=.venv/src
8."./.vscode/setting.json"に以下を追加します。
"python.envFile": "${workspaceFolder}\\.env"
バックスラッシュはエスケープキーとして認識されるので二重にするのを忘れないでください。
7、8の手順を踏むことによって仮想環境でライブラリを読み込めずワーニングが出るということがなくなります。
あとは
pipienv install xxx
でお好みのライブラリをインストールして
pipenv shell
を実行すればお好みの仮想環境で開発することができます!
以上です!お疲れさまでした!
#最後に
今まではとりあえずコードが打てれば良いの精神であまり気にしてなかったのですが、現場によってはvscodeが標準だったりgitとの連携が便利だったりということで使い始めた次第です。
この記事を書いてる先から今日も頭の中の消しゴムは頑張って仕事をしていて
消えゆく記憶と格闘しながら作成した次第です。
お前こんなんも知らんのかい?
ここ違うで
等ありましたら是非ご指摘いただけると嬉しいです。
先達の皆様よろしくお願いします。