PyFlowというビジュアルスクリプトフレームワークもあるので気を付ける
PyflowのGitHub: https://github.com/David-OConnor/pyflow
Pyflow
最小限のAPIを備えたシンプルで使いやすいインストールと依存関係を管理するシステムツール
- 環境を自動で判別して,指定されているPythonで実行をするようにしてある
- ユーザー側のPythonを利用せず独自にコンパイルしたPythonを利用することで環境に依存しないで構築できる
- 依存関係のキャッシュされたデータベースやwarehouseなどを利用しているためパッケージ依存関係の解決やlockingが速い
- (Rustで開発されている)
個人的にはこれらが特徴として良いなあと思った
環境の自動判別などは,初心者には嬉しい機能だと思う
インストール
プラットフォームごとに用意されている
Rustがインストール済みであればcargoでインストールできる
cargo install pyflow
インストールされたかを確認する
# バージョン確認
pyflow -V
# 利用できるコマンド表示
pyflow -h
プロジェクトの作成
# 既存のフォルダを初期化
pyflow init
# 新しくプロジェクト用のフォルダを作って初期化
pyflow new projectname
initコマンドを利用する際にはrequirements.txt, pipfileなどを利用してプロジェクト作成時にパッケージとそのバージョンを指定してインポートすることもできる
アスタリスクの箇所で任意のバージョンを指定する(このままでもインポートされる)
バージョンの指定方法はこれが参考になる
[[source]]
name = 'pypi'
url = 'https://pypi.org/simple'
verify_ssl = true
[packages]
numpy = '*'
matplotlib = '*'
[dev-packages]
nose = '*'
black = '*'
プロジェクトのフォルダにはpyproject.tomlが自動で生成される
また上記のような設定ファイルを書かなくても パッケージなどは後でインストールできる
パッケージのインストール
# 最新バージョン
pyflow install numpy
# 複数かつバージョン指定
pyflow numpy==1.21.6 matplotlib=3.5.1
# 開発用のlinterやfomatterをインストール
pyflow install black --dev
# アンインストール
pyflow uninstall numpy
pyproject.tomlを編集してもインストールできる
[tool.pyflow.dependencies]
numpy = "1.21.6"
[tool.pyflow.dev-dependencies]
black = "*"
実行
# REPL
pyflon python
# スクリプトを実行
pyflow filename.py
# linterやformatterを実行
pyflow black
# 外部のプロジェクトのスクリプトを一回だけ実行
pyflow script myscript.py
おわり
書いていないことが多いので気になったらGitHubのページへ
覚えることが少なく,単純な環境を作るだけならこれで良いなあと思う
TipsとしてVSCodeで実行するときにはtasks.jsonを利用すると楽になる
参考までに
{
"tasks": [
{
"label": "pyflow install pacage",
"type": "shell",
"command": "pyflow",
"args": [
"install",
"${input:packagename}",
]
},
{
"label": "pyflow run script",
"type": "shell",
"command": "pyflow",
"args": [
"${relativeFile}"
],
}
],
"inputs": [
{
"id": "packagename",
"type": "promptString",
"default": "",
"description": "Input package names"
}
]
}