public_notes/content/20240121121237 pythonで制御工学の学習環境を作る.md
2024-02-14 07:00:02 +09:00

3 KiB
Executable file
Raw Blame History

20240121121237 pythonで制御工学の学習環境を作る

#python #control_theory

サポートページ

ここに書いてある通りにやれる場合はそうする: 『Pythonによる制御工学入門改訂』サポートページ | 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変数を無効にする理由は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を再起動したら直る。

これで環境構築できた(はず)。