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

45 lines
3 KiB
Markdown
Raw Normal View History

2024-02-14 23:30:02 +09:00
# 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を再起動したら直る。
これで環境構築できた(はず)。