1.はじめに
Windows上でのPython開発における、細々としたことの覚え書きです。
2.開発環境構築
(1)Pythonインストール
(書き中)
(2)複数のPythonバージョンを切り替え
参考:https://python-beginner.blog/multiversion/
ターミナルを開く。 ここでは、既にVer.3.10とVer.3.13がインストールされているものとする。
#現在のバージョンを確認 C:\Users\hoge>py -0p -V:3.13 * C:\Applications\python\Python313\python.exe -V:3.10 C:\Applications\Python\Python310\python.exe
複数バージョンのPythonがインストールされていても、 環境変数を定義し、特定のバージョンを指定することができます。
設定→システム→バージョン情報→システムの詳細設定を開く | |
システムのプロパティ→環境変数を開く | |
環境変数PY_PYTHON を定義して、バージョン番号を記入 |
先ほどの環境変数を適用のため、ターミナルを閉じて、改めて開く。(VSCodeの場合は、VSCodeを開きなおす必要があります)
C:\Users\hoge>py -0p -V:3.13 C:\Applications\python\Python313\python.exe -V:3.10 * C:\Applications\Python\Python310\python.exe
(3)仮想環境の準備
#作業ディレクトリを準備 C:\Users\hoge>md myproject C:\Users\hoge>cd myproject #構築 C:\Users\hoge\myproject>py -m venv venv
最後の「venv」は任意の名前で構いません。 この表記の例が多いですので、差しさわりなければこのままで。
(4)作り直した仮想環境に、パッケージを復元
参考:https://note.nkmk.me/python-pip-install-requirements/
requirements.txt
を使って、パッケージ情報を容易に移し替えられます。
#作り直す前の仮想環境の、パッケージ情報を書き出す C:\Users\hoge\myproject>py -m pip freeze > requirements.txt
#構築 C:\Users\hoge\myproject>py -m venv venv #作り直したあとの仮想環境に、パッケージ情報を読み込ませる C:\Users\hoge\myproject>py -m pip install -r requirements.txt
(5)pipのライブラリのアップデート
参考:https://zenn.dev/haretokidoki/articles/8836fecf6b4cfc
VSCodeでrequirements.txt を開くと、pipパッケージの更新状況が分かります |
pip-review · PyPIをインストールする
C:\Users\hoge\myproject>py -m pip install pip-review
# 更新可能なものを、一括アップデートする C:\Users\hoge\myproject>pip-review --auto #パッケージ情報を書き出す C:\Users\hoge\myproject>py -m pip freeze > requirements.txt
4.streamlit
(1)VSCodeのデバッガー連携
参考:https://ploomber.io/blog/streamlit-debugging/
.vscode\launch.json
に下記の設定を追記する。
- ポイント・下記の記入を忘れないこと
"module": "streamlit",
"justMyCode": false,
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python デバッガー: 現在のファイル", ・・・(省略)・・・ }, { "name": "streamlit デバッガー: 現在のファイル", "type": "debugpy", "request": "launch", "module": "streamlit", "console": "integratedTerminal", "justMyCode": false, "args": [ "run", "${file}", ] } ] }
実行とデバッグのメニューに、「streamlit デバッガー」が追加されていますので、こちらを実行します。
(2)VSCodeのデバッグ実行でブラウザを開かせないようにする
参考:Supress new browser window once app is started execution - Using Streamlit - Streamlit
コンフィグファイルに指定
.streamlit\config.toml
[server] headless = true
実行時引数に指定
.vscode\launch.json
に--server.headless
を追記する。
{ ・・・(省略)・・・ }, { "name": "streamlit デバッガー: 現在のファイル", "type": "debugpy", "request": "launch", "module": "streamlit", "console": "integratedTerminal", "justMyCode": false, "args": [ "run", "${file}", "--server.headless", "true" ] } ] }