rye icon indicating copy to clipboard operation
rye copied to clipboard

Forced toolchain selection

Open lorenzogatti opened this issue 6 months ago • 0 comments

Steps to Reproduce

There is no way to make Rye run a specific Python version: it uses the last indygreg downloadable version, ignoring other toolchains. At this moment, Python 3.12.5 is only available on Windows with the regular Python.org installer and I am forced to run Rye with Python 3.12.4.


$ /c/Users/redacted/.rye/shims/rye.exe toolchain list
[email protected] (C:\Users\redacted\.rye\py\[email protected]\python.exe)

$ /c/Users/redacted/.rye/shims/rye.exe toolchain register "c:\python\python.exe"
Registered c:\python\python.exe as [email protected]

$ /c/Users/redacted/.rye/shims/rye.exe toolchain list
[email protected] (\\?\C:\python\python.exe)
[email protected] (C:\Users\redacted\.rye\py\[email protected]\python.exe)

$ /c/Users/redacted/.rye/shims/rye.exe toolchain list --include-downloadable | grep 3.12.5
[email protected] (\\?\C:\python\python.exe)

$ /c/Users/redacted/.rye/shims/rye.exe toolchain list --include-downloadable | grep 3.12.4
[email protected] (C:\Users\redacted\.rye\py\[email protected]\python.exe)
[email protected] (downloadable)

$ /c/Users/redacted/.rye/shims/rye.exe toolchain remove [email protected]
error: toolchain [email protected] is still in use by rye itself

Moreover, it isn't at all clear how to upgrade to Python 3.12.5; will rye self update do it automatically when the downloadable toolchain is published?

Expected Result

Rye should run with any Python interpreter, and provide a way to specify which one among the registered toolchains. In a project folder the Python version specified in .python-version or pyproject.toml should override a global setting (which, currently, exists only in Rye's internally managed virtual environment rather than in user-editable files).

Are there compelling technical reasons to exclude some Python interpreters, beyond the risk of library hell on Linux and bizarre misconfigurations on MacOS?

I can't deal with any more linux distribution weird Python installations or whatever mess there is on macOS.

If it's possible to register and use a toolchain, a toolchain that is good enough for the user's project should be good enough for Rye.

Actual Result

rye toolchain remove [email protected]
error: toolchain [email protected] is still in use by rye itself

Version Info

Windows 10 64 bit, Rye 0.38, Python 3.12.5 (and forcibly 3.12.4)

Stacktrace

No response

lorenzogatti avatar Aug 19 '24 17:08 lorenzogatti