#はじめに
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内のユーザの作成を求められるので、好みのユーザ名とパスワードを入力する。
時間があるのであれば、アップデートとアップグレードをしても良いだろう。
(初回起動時とは比較にならないくらい時間がかかるので注意)
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接続を許可する設定を行う。
$ 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+VirtualenvでPythonを導入する。
Pyenv+Virtualenvを使わない方法は以下の記事を参考にしてください。
https://yuta0508.hatenablog.com/entry/2018/05/06/104400
###Gitのインストール
Pyenvをインストールするためには、Gitをインストールする必要がある
$ sudo apt install -y git
###Pyenvのインストール
PyenvのリポジトリをGitHubからクローンする。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
クローンした後、以下のモノを.bashrcに書き込む。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
その後、.bashrcを再読み込みすることで、追記した設定を適用する。
$ source ~/.bashrc
設定を適用した後、以下が表示されたらPyenvの設定は終了。
$ which pyenv
/home/USERNAME/.pyenv/bin/pyenv
###Virtualenvのインストール
virtualenvのリポジトリをクローンする。
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
クローンした後、以下のモノを.bashrcに書き込む。
$ echo 'eval "$(pyenv virtualenv-init -)"'
###Pyenv+VirtualenvでPythonの環境を作成する
はじめに、Pyenvで利用できるバージョンを確認する。
$ pyenv install --list
利用したいバージョンをインストールする。
(今回は、3.6.5というバージョンをインストールする)
$ pyenv install 3.6.5
その後、pyenv virtualenv [version] <virtualenv_name>
というコマンドでvirtualenv_nameという環境が作成される。
今回は、3.6.5というバージョンで、new_3.6.5という名前の環境を作成する。
$ pyenv vertualenv 3.6.5 new_3.6.5
作成した環境があるか確認する。
$ pyenv versions
* system (set by /home/USERNAME/.pyenv/version)
3.6.5
3.6.5/envs/new_3.6.5
#Djangoプロジェクトの作成
###開発環境の設定
WSLはローカルと自動的マウントされるらしいので、Cドライブ直下にPythonプロジェクトを管理するフォルダを作成する。
$ cd /mnt/c
$ mkdir <作成するディレクトリ名>
$ cd <作成したディレクトリ名>
作成したディレクトリ内で、先ほど作成したPython環境を利用したいので、その設定をする。
$ pyenv local new_3.6.5
適用されたかどうかを確認する。
$ pyenv versions
system
3.6.5
* 3.6.5/envs/new_3.6.5 (set by /home/USERNAME/.pyenv/version)
###Djangoプロジェクトの作成
今のままでは、Djangoプロジェクト作成することができないので、pipからdjangoをインストールする。
$ pip install django
これで、Djangoプロジェクトを作成する準備ができたので、実際に作成してみる。
$ django-admin startproject <作成したいプロジェクト名>
以下を打ち込んだ後、以下のリンクにアクセスして「The install worked successfully! Congratulations!」が表示されたらDjangoプロジェクトの作成に成功。
$ 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を押していけば良い。
初期設定が終わると、以下の画面が表示される。
表示された画面の右下に、Configureの中の、Setteingsをクリックする。
開いた画面の左上に検索バーで「Interpreter」と検索すると、Project Interpreterがあるので、それの歯車をクリックする。
クリックすると、Add Remoteがあるので、それをクリックし、以下のように設定する。
これでインタープリタの設定が完了する。
#まとめ
実際に、開発をするときの手順
(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/