3 KiB
20240121121237 pythonで制御工学の学習環境を作る
#python #control_theory
サポートページ
ここに書いてある通りにやれる場合はそうする: 『Pythonによる制御工学入門(改訂2版)』サポートページ | Yuki MINAMI
がんばる場合
そうできない 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を使い学習用環境を作る。
学習用フォルダを作り、その中で
python -m venv .venv
code .
vscodeが起動せず、cannot run .exe files: exec format error
とかエラーが出る場合は
20240123115736 wsl2からwindowsのvs codeが起動できない に書いてある方法で起動するようになる。
vscodeが開いたら、
Python: Create Terminal
コマンドを実行。自動で.venvが選ばれた環境が起動する。
開いたターミナル内で、
DISPLAY= pip install control slycot matplotlib notebook
DISPLAY変数を無効にする理由はmemo/public/20240123120540 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これを踏んでいる。
.ipynbが開けなくなった。Answerの通り、vscodeを再起動したら直る。
これで環境構築できた(はず)。