public_notes/content/20240121121237 pythonで制御工学の学習環境を作る.md

45 lines
No EOL
3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 20240121121237 pythonで制御工学の学習環境を作る
#python #control_theory
## サポートページ
ここに書いてある通りにやれる場合はそうする:
[『Pythonによる制御工学入門改訂』サポートページ | 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が選ばれた環境が起動する。
開いたターミナル内で、
`DISPLAY= pip install control slycot matplotlib notebook`
DISPLAY変数を無効にする理由は[[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を再起動したら直る。
これで環境構築できた(はず)。