LoginSignup
5
3

More than 5 years have passed since last update.

WSL+PycharmでDjangoを書きたかった

Posted at

はじめに

Macのターミナルを利用して開発を行っていたが、Mysqlの設定ファイルを弄ったところ、どうやら、Mysqlはインストールされているが、Mysqlは起動しないという謎のバグが起きた。
そこで、家で眠っていたWindowsを引っ張りだして開発をしようというのが始まりだ。
最初はVirtualBoxにubuntu18.04を入れて開発していたが・・・遅い!!
Macのターミナルで開発していたときと比較したときにあまりにも遅かったので、最近良くなってきている?と言われているWSLを導入した結果、何かうまくいったので、個人的備忘録程度に、記事を書くことにした。
(ということですので、不備などございましたら、コメントしていただけると幸いです。)

開発環境

Windows10
Pycharm Pro版
Cmder
WSL
Ubuntu 18.04 LTS
Python3.6.5

目次

1.はじめに
2.目次
3.WSLの導入
4.Pythonの導入
5.Djangoプロジェクトの作成
6.Pycharmの設定
7.まとめ

WSLの導入

WSLを有効にする

WSLを利用するために、Windows Subsystem for Linuxという機能を有効にする。

CUIで導入

PowerShellを管理者権限で開いて、以下を打ち込むと有効になる。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

GUIで導入

アプリと機能の中にある関連設定のプログラムと機能を開く
そこにあるWindowsの機能の有効かまたは無効化を開くとWindows Subsystem for Linuxがあるので、それのチェックボックスをオンにする。
オンにすると、再起動を求められるので、一旦再起動する。

WSLのパッケージをストアから導入する

WSLを有効化したので、Microsoft Storeから、Linuxパッケージを導入する。
今回は、Ubuntu 18.04 LTSをインストールすることにする。

インストール後の初期設定

ストアからインストールすると、Ubuntu 18.04というアプリがあるので、それを開く。
初回起動時には、ファイルを展開するために数分かかる。
ファイルを展開後、WSL内のユーザの作成を求められるので、好みのユーザ名とパスワードを入力する。
時間があるのであれば、アップデートとアップグレードをしても良いだろう。
(初回起動時とは比較にならないくらい時間がかかるので注意)

Ubuntu18.04
Enter new UNIX username:好きな名前
Enter new UNIX password:好きなパスワード
Retype new UNIX password:上で入力したパスワード
$ sudo apt update //←は時間があるときにやろう
$ sudo apt upgrade //←は時間があるときにやろう

apt-getじゃダメなのかという意見がありそうだが、Ubuntu14.04以降はaptを推奨されているらしいので、今回はaptを利用する。

sshの設定

最低限、Djangoが書ければ良いという人はここを読み飛ばしても大丈夫です。
個人的にターミナルソフト(私の場合はCmder)から動かしたかったので、Ubuntu側のssh接続を許可する設定を行う。

Ubuntu18.04
$ sudo vi /etc/ssh/sshd_config
//56行目辺り
# PasswordAuthentication no
↓
PasswordAuthentication yes 

ターミナルソフトからssh接続

これでCmder上で、以下のコマンドを打つと接続できる。

$ bash
//これを打つと、$からUSERNAME@DESKTOP-hogehoge:/mnt/c/Users/USERNAME$になる
$ sudo service ssh start
$ ssh 127.0.0.1
USERNAME@127.0.0.1's password: Ubuntu18.04で初期設定したパスワードを入力

Pythonの導入

今回は、Pyenv+VirtualenvPythonを導入する。
Pyenv+Virtualenvを使わない方法は以下の記事を参考にしてください。
https://yuta0508.hatenablog.com/entry/2018/05/06/104400

Gitのインストール

Pyenvをインストールするためには、Gitをインストールする必要がある

Ubuntu18.04
$ sudo apt install -y git

Pyenvのインストール

PyenvのリポジトリをGitHubからクローンする。

Ubuntu18.04
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

クローンした後、以下のモノを.bashrcに書き込む。

Ubuntu18.04
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

その後、.bashrcを再読み込みすることで、追記した設定を適用する。

Ubuntu18.04
$ source ~/.bashrc

設定を適用した後、以下が表示されたらPyenvの設定は終了。

Ubuntu18.04
$ which pyenv
/home/USERNAME/.pyenv/bin/pyenv

Virtualenvのインストール

virtualenvのリポジトリをクローンする。

Ubuntu18.04
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

クローンした後、以下のモノを.bashrcに書き込む。

Ubuntu18.04
$ echo 'eval "$(pyenv virtualenv-init -)"'

Pyenv+VirtualenvでPythonの環境を作成する

はじめに、Pyenvで利用できるバージョンを確認する。

Ubuntu18.04
$ pyenv install --list

利用したいバージョンをインストールする。
(今回は、3.6.5というバージョンをインストールする)

Ubuntu18.04
$ pyenv install 3.6.5

その後、pyenv virtualenv [version] <virtualenv_name>というコマンドでvirtualenv_nameという環境が作成される。
今回は、3.6.5というバージョンで、new_3.6.5という名前の環境を作成する。

Ubuntu18.04
$ pyenv vertualenv 3.6.5 new_3.6.5

作成した環境があるか確認する。

Ubuntu18.04
$ pyenv versions
* system (set by /home/USERNAME/.pyenv/version)
3.6.5
3.6.5/envs/new_3.6.5

Djangoプロジェクトの作成

開発環境の設定

WSLはローカルと自動的マウントされるらしいので、Cドライブ直下にPythonプロジェクトを管理するフォルダを作成する。

Ubuntu18.04
$ cd /mnt/c
$ mkdir <作成するディレクトリ名>
$ cd <作成したディレクトリ名>

作成したディレクトリ内で、先ほど作成したPython環境を利用したいので、その設定をする。

Ubuntu18.04
$ pyenv local new_3.6.5

適用されたかどうかを確認する。

Ubuntu18.04
$ pyenv versions
system
3.6.5
* 3.6.5/envs/new_3.6.5 (set by /home/USERNAME/.pyenv/version)

Djangoプロジェクトの作成

今のままでは、Djangoプロジェクト作成することができないので、pipからdjangoをインストールする。

Ubuntu18.04
$ pip install django

これで、Djangoプロジェクトを作成する準備ができたので、実際に作成してみる。

Ubuntu18.04
$ django-admin startproject <作成したいプロジェクト名>

以下を打ち込んだ後、以下のリンクにアクセスして「The install worked successfully! Congratulations!」が表示されたらDjangoプロジェクトの作成に成功。

Ubuntu18.04
$ cd <作成したプロジェクト名>
$ python manage.py runserver

Pycharmの設定

Pycharmのインストール

次にWindowsにPycharmをインストールする。

以下は、公式サイトのダウンロードリンク。
https://www.jetbrains.com/pycharm/download/#section=windows
以下は、詳細な説明のリンク。
https://gammasoft.jp/python/pycharm-install-on-windows/

今回は、Windowsでの開発なので、Windowsを選択して、ダウンロードする。
ダウンロードが完了したら、exeファイルを開いて、インストールする。
こだわりが無ければ、そのままEnterを押していれば良い。
インストールが完了したら、Pycharmアプリケーションを開く。
初期設定があるが、これもこだわりが無ければEnterを押していけば良い。
初期設定が終わると、以下の画面が表示される。

キャプチャ.PNG

表示された画面の右下に、Configureの中の、Setteingsをクリックする。
開いた画面の左上に検索バーで「Interpreter」と検索すると、Project Interpreterがあるので、それの歯車をクリックする。

キャプチャ1.PNG

クリックすると、Add Remoteがあるので、それをクリックし、以下のように設定する。

キャプチャ2.PNG

これでインタープリタの設定が完了する。

まとめ

実際に、開発をするときの手順
(1. bashを打つ)
(2. sudo service ssh startでssh接続を可能にする)
(3. ssh 127.0.0.1で接続する)
3.5. Pycharmで開発
4. cd \mnt\c\<作成したディレクトリ>\<作成したプロジェクト>
5. Python manage.py runserver

※括弧はターミナルソフトを利用するときの手順

冒頭でも記載しましたが、何かありましたら、コメントしていただければと思います。
長い間お付き合いいただきありがとうございました。

参考文献

http://www.atmarkit.co.jp/ait/articles/1608/08/news039.html
https://qiita.com/Ningensei848/items/b313e440444bbdf65876
https://linuxfan.info/package-management-ubuntu
https://qiita.com/Kodaira_/items/feadfef9add468e3a85b
https://qiita.com/shigechioyo/items/198211e84f8e0e9a5c18
https://gammasoft.jp/python/pycharm-install-on-windows/
https://pleiades.io/help/pycharm/using-wsl-as-a-remote-interpreter.html
http://iamnotmyself.com/2017/04/15/setting-up-powerline-shell-on-windows-subsystem-for-linux/

5
3
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
5
3