0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VSCode】Pipenv で立ち上げた仮想環境でDjangoを動かす

Last updated at Posted at 2022-05-01

大前提

当方分からない事が多々ありますので間違いや遠回りはご容赦願います.
コメント等で教えていただけると嬉しいです!!

やりたいこと

pipenvで仮想環境を立ち上げてVSCodeでDjangoを動かす.

参考

基本的に '仮想環境の作成' は 参考1
'python, Djangoのインストール' は参考2
'VSCodeでDjangoを動かす' は参考3
を主に参考にした. ありがとうございました.

詳しい内容は参考を見てもらって以下では私が躓いた箇所を主に述べていく

pipenvとは

パッケージのインストールから仮想環境の構築までを行う事ができるpythonのパッケージマネージャの一つ
コマンドcdを用いることで簡単に仮想環境を行き来できる点が特徴.

仮想環境内でのパッケージインストール

参考1を参考にして新しいディレクトリの作成からそこでの仮想環境構築, パッケージのインストールを行った. 他のサイトにおいて pipenv --python 3.6のようにpythonのversionまでを指定してあげるとディレクトリ内ですでにrequirements.txtを作成している場合はその中身に応じたパッケージのインストールが自動的にされるという旨の記載があったが私の場合はできなかったので大人しくpipenv install -r requirements.txtでインストールした.

仮想環境に入れない

pipenv --python 3.6で仮想環境をProjectAというディレクトリで作成してもpipenv shellコマンドで目的の仮想環境に入れず他の仮想環境に入ってしまう事があった. これはProjectAよりも上の階層(/Users/username/Desktop/ProjectAという構造なら/Users/usernameなど)で誤って仮想環境を作成していたことが原因であった./Users/usernameで仮想環境が作られているためそれよりも下の環境でpipenv shellコマンドを打つと上の方の仮想環境に入ってしまっていた. 上の仮想環境を破棄して自動的に作成されたpipfile,pipfile.lockを破棄することで解決する事ができた.

Djangoの動作確認

参考2を参考にして行った.
ターミナルにてPython, Djangoがインストールされている仮想環境内で以下のコマンドを入力して確認した

django-admin startproject mysite
cd mysite
python manage.py migrate
python manage.py runserver

結果は以下 http://127.0.0.1:8000/
スクリーンショット 2022-05-01 11.27.34.png

VSCodeの設定

ここまでで仮想環境の構築とそこでのdjangoの動作確認を行なった. 次にVSCodeを用いて動かせるようにしていく.
基本的には参考3をもとに進めていった.
(launch.jasonの中身のことも説明されているのでわかりやすかったです!)

jasonファイルのエラー

launch.jason
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": [
                "runserver"
            ],
            "django": true
        }
    ]
}

ここで"program": "${workspaceFolder}/manage.py",において実行した際にFileNotFoundError: [Errno 2] No such file or directoryというエラーを吐かれた. これはworkspaceFolderがmusiteの上となっていてmanage.pyを探せなかったことに起因する.
以下のように変更することで解決した.

"program": "${workspaceFolder}/mysite/manage.py",

補足: importエラー

ライブラリをインストール済みにも関わらず、Visual Studio Code 上で import や from の箇所でエラーが表示されたままになっていた.

具体的には、 ModuleNotFoundErrorUnable to import といったエラーが表示される.

これはVSCodeにおいて適切なインタープリタが選択されていないことが原因であった.

解決方法

まずはpipenvで作った仮想環境がどこにあるのかを以下のコマンドで調べる. 参考

pipenv --venv

場所が確認できたらVSCode上の設定を変更する.参考

F1 を押す
Python: Select Interpreter を入力
・表示された一覧から適切なインタプリターを選択する

適切なインタープリタが選択されたことによってエラーが解消される.

最後に

基本的に参考をもとに進めればどうにかなると思うが何点かつまづいたので備忘録的に記しました.
どなたかのお役に立てれば嬉しいです.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?