# 20240121121237 pythonで制御工学の学習環境を作る #python #control_theory ## サポートページ ここに書いてある通りにやれる場合はそうする: [『Pythonによる制御工学入門(改訂2版)』サポートページ | Yuki MINAMI](https://y373.sakura.ne.jp/minami/pyctrl) ## がんばる場合 そうできない or やりたくない場合、 windowsの人は "windowsの場合、wsl2上でubuntuを動かし、そこで普通のpythonを使う"がよさそう。 macやlinuxでは、あまり大変ではないかも。 Google Colaboratory上で環境を作る場合のうれしくないことは、 - Notebookを開くたびに、毎回 pip installを動かす必要があり、時間がかかる - そのworkaroundとして、google driveにpipをインストールする方法があるが、google driveの検索が著しく使いにくくなるため、その方法もとりたくない。 Anaconda/Minicondaなどを使う方法は、 20240123 時点ではvscode上でうまく動かない。 condaコマンドによる仮想環境構築が途中で止まってしまうなどした。 windowsの普通のpythonを使おうとすると、slycotのインストールがうまくいかない。検索するとうまくいっていない人が沢山でてくる。ここは頑張るところではない。 ・・・などを試した結果、wsl2上にubuntuをインストール、それをwindows上のvscodeから使用する環境を作った。 以下はubuntu上で実行している。 [[20240121125457 venv|venv]]を使い学習用環境を作る。 学習用フォルダを作り、その中で `python -m venv .venv` `code .` vscodeが起動せず、`cannot run .exe files: exec format error` とかエラーが出る場合は [[20240123115736 wsl2からwindowsのvs codeが起動できない|wsl2からwindowsのvs codeが起動できない]] に書いてある方法で起動するようになる。 vscodeが開いたら、 `Python: Create Terminal` コマンドを実行。自動で.venvが選ばれた環境が起動する。 事前に必要なインストールするもの gfortran 開いたターミナル内で、 `DISPLAY= pip install control slycot matplotlib notebook` DISPLAY変数を無効にする理由は[[memo/public/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる|wsl2上でpipを実行すると、ものすごく時間がかかる]]から。 `Jupyter: Select Interpreter to Start Jupyter Server` コマンドを実行。作った.venvの環境を選ぶ。 windows側のpath /mnt/c/... が表示されるけど、そちらではない方を選ぶ。 実行すると、`Error loading webview: Error: Could not register service workers:` とかいうダイアログが表示されて起動できない場合は、 [python - Error while opening ipynb notebook in VSCode - Stack Overflow](https://stackoverflow.com/questions/73992851/error-while-opening-ipynb-notebook-in-vscode)これを踏んでいる。 .ipynbが開けなくなった。Answerの通り、vscodeを再起動したら直る。 これで環境構築できた(はず)。