ryeを使ったpythonプロジェクト作成の流れ。
きっとすぐ忘れるのでメモを残す。
環境
windows11
rye 0.33.0
プロジェクト作成の流れ
- プロジェクトを作成する
- pythonのバージョンを指定する
- ryeの環境と設定を同期する
- 使いたいライブラリを追加する
やってみる
1. プロジェクト作成する
# プロジェクト作成
# このタイミングで'git init'もしてくれてるっぽい
PS D:\projects> rye init test_project
success: Initialized project in D:\projects\test_project
Run `rye sync` to get started
# 出来上がったものを確認してみる
PS D:\projects> tree .\test_project\ /f
D:\PROJECTS\TEST_PROJECT
│ .python-version
│ README.md
│ .gitignore
│ pyproject.toml
│
└─src
└─test_project
__init__.py
2. pythonのバージョンを指定する
# 作成したプロジェクトに移動
PS D:\projects> cd .\test_project\
# 使用可能なpythonのバージョン確認
PS D:\projects\test_project> rye toolchain list --include-downloadable
cpython@3.12.3 (C:\Users\XXXXX\.rye\py\cpython@3.12.3\python.exe)
cpython@3.12.2 (downloadable)
cpython@3.12.1 (downloadable)
~以下略~
# プロジェクトで使用するpythonのバージョンを指定する
PS D:\projects\test_project> rye pin 3.12.3
pinned 3.12.3 in D:\projects\test_project\.python-version
3. ryeの環境と設定を同期する
# 同期
PS D:\projects\test_project> rye sync
Initializing new virtualenv in D:\projects\test_project\.venv
Python version: cpython@3.12.3
Generating production lockfile: D:\projects\test_project\requirements.lock
Generating dev lockfile: D:\projects\test_project\requirements-dev.lock
Installing dependencies
Built file:///D:/projects/test_project Built 1 editable in 2.75s
Installed 1 package in 172ms
+ test-project==0.1.0 (from file:///D:/projects/test_project)
Done!
4. 使いたいライブラリを追加する
# 今回はpandas入れてみる
PS D:\projects\test_project> rye add pandas
Added pandas>=2.2.2 as regular dependency
Reusing already existing virtualenv
Generating production lockfile: \\?\D:\projects\test_project\requirements.lock
Generating dev lockfile: \\?\D:\projects\test_project\requirements-dev.lock
Installing dependencies
Built file:///D:/projects/test_project Built 1 editable in 2.79s
Resolved 6 packages in 16ms
Downloaded 6 packages in 12.80s
Uninstalled 1 package in 1.14s
Installed 7 packages in 3m 03s
+ numpy==1.26.4
+ pandas==2.2.2
+ python-dateutil==2.9.0.post0
+ pytz==2024.1
+ six==1.16.0
- test-project==0.1.0 (from file:///D:/projects/test_project)
+ test-project==0.1.0 (from file:///D:/projects/test_project)
+ tzdata==2024.1
Done!
# 開発用のライブラリも入れてみる => --devで開発用
PS D:\projects\test_project> rye add --dev pytest
Added pytest>=8.2.0 as dev dependency
Reusing already existing virtualenv
Generating production lockfile: \\?\D:\projects\test_project\requirements.lock
Generating dev lockfile: \\?\D:\projects\test_project\requirements-dev.lock
Installing dependencies
Built file:///D:/projects/test_project Built 1 editable in 3.19s
Resolved 3 packages in 6ms
Downloaded 3 packages in 823ms
Uninstalled 1 package in 120ms
Installed 6 packages in 2.69s
+ colorama==0.4.6
+ iniconfig==2.0.0
+ packaging==24.0
+ pluggy==1.5.0
+ pytest==8.2.0
- test-project==0.1.0 (from file:///D:/projects/test_project)
+ test-project==0.1.0 (from file:///D:/projects/test_project)
Done!
# 同期を忘れずに。
PS D:\projects\test_project> rye sync
Reusing already existing virtualenv
Generating production lockfile: D:\projects\test_project\requirements.lock
Generating dev lockfile: D:\projects\test_project\requirements-dev.lock
Installing dependencies
Audited 12 packages in 11ms
Done!
ryeのコマンド覚書
#プロジェクト作成
rye init 適当なプロジェクト名
# pythonのバージョン指定
rye pin 使いたいバージョン
# ライブラリ追加
rye add 使いたいライブラリ
# 開発用ライブラリ追加
rye add --dev 使いたいライブラリ
# ライブラリ削除
rye remove 消したいライブラリ
# 同期 => initとかaddしたあとに実行しないと反映されなさそう
rye sync
# 実行
rye run python 実行したいファイル
# 追加したライブラリ表示
rye list