703 Commits

Author SHA1 Message Date
Ivan Pozdeev
a71a378dac 2.6.2 2025-06-12 13:19:45 +03:00
Ivan Pozdeev
b9ede4ae0e 2.6.1 2025-06-04 20:22:49 +03:00
Ivan Pozdeev
bfbe76e6a9 2.6.0 2025-05-26 22:59:51 +03:00
Jesse Wattenbarger
018ca73444
Add --bare option to pyenv version (#2783) 2025-05-17 18:23:25 +03:00
Ivan Pozdeev
f216b4bfb1 2.5.7 2025-05-09 00:52:54 +03:00
Ivan Pozdeev
6fff3d29d4 2.5.6 2025-05-08 17:12:28 +03:00
Ivan Pozdeev
97993fcc26 2.5.5 2025-04-09 23:00:35 +03:00
Ivan Pozdeev
abf1376487 2.5.4 2025-03-15 02:06:16 +03:00
Ivan Pozdeev
5051a42b2c 2.5.3 2025-02-13 09:17:25 +03:00
Ivan Pozdeev
b3dad5887e 2.5.2 2025-02-05 19:54:06 +03:00
Ivan Pozdeev
734d6323d8 2.5.1 2025-01-19 17:47:51 +03:00
Christian Fredrik Johnsen
4c6b0e9c3b
Fix: mistake in configuration hints in pyenv init and manpage. (#3145) 2024-12-23 20:58:54 +03:00
Ivan Pozdeev
2aff0df76d 2.5.0 2024-12-22 23:22:20 +03:00
Christian Fredrik Johnsen
c6973391f3
pyenv-init | performance improvements (#3136)
* perf: replace a series of if statements with a case block. Add error
handling for case where unknown option is provided.
Same setup as rbenv-init for reading arguments.

* perf, docs: Recommend users to specify the shell for `pyenv init -`
Speeds up the startup by about 40% (in local testing, from ~50ms to ~30ms).
Reflect this in `pyenv init` hint text.

* style: remove unnecessary `root` variable in pyenv-init
* style: remove unnecessary variable declarations at the top of file in pyenv-init.

* perf: replace `cat <<` calls with `echo`
The builtin `echo` is about 100x faster. In tests, saves about 2-3ms.

* docs: document the `pyenv init - <shell>` performance boost in the Advanced Configuration section.

* style: test_helper.bash: avoid unnecessary ".." in produced PATH

* docs: fix a false statement about completions location in the Advanced Configuration section.
2024-12-22 15:23:51 +03:00
Ivan Pozdeev
a1edb81e8e 2.4.23 2024-12-18 10:13:13 +03:00
Ivan Pozdeev
86be59a6d5 Tolerate nonexistent versions from pyenv-version-name in pyenv-which
Addendum to #3134 as per https://github.com/pyenv/pyenv/pull/3134#issuecomment-2545710044
2024-12-16 21:36:14 +03:00
native-api
dc873cf568
Support missing versions being present and set in a local .python-version (#3134)
Requested in https://github.com/pyenv/pyenv/issues/2680
for deployments with a stock `.pyenv-version` that can use any
of a number of Python versions
and for compatibility with `uv`.

* Support `pyenv local --force`
* Support `pyenv-version-file-write --force`
* Support `pyenv version-name --force`
* Ignore missing versions when searching for executables
* Display "commmand not found" even when there are nonexistent versions

* exec.bats: replace `python` and `rspec` with something that doesn't exist globally, either
in Ubuntu Github CI, `python` exists globally
2024-12-16 02:32:45 +03:00
Ivan Pozdeev
d04a081dcb 2.4.22 2024-12-07 14:29:09 +03:00
Ivan Pozdeev
ee84e89ef1 2.4.21 2024-12-06 02:57:27 +03:00
Ivan Pozdeev
0f8b2b2b84 2.4.20 2024-12-04 02:08:51 +03:00
Ivan Pozdeev
1e8e96b8a2 2.4.19 2024-11-20 22:11:32 +03:00
Ivan Pozdeev
6393a4dfce 2.4.18 2024-11-17 23:49:36 +03:00
Ivan Pozdeev
96b3fb2fc3 2.4.17 2024-10-28 02:43:30 +03:00
Ivan Pozdeev
770eb66ec8 2.4.16 2024-10-17 18:47:39 +03:00
Ivan Pozdeev
050f88c78b 2.4.15 2024-10-11 16:31:00 +03:00
native-api
3ced1c4751
Support free-threaded CPython flavor in prefix resolution (#3090)
Since 3.13, CPython is provided in 2 flavors: regular and
free-threaded, with the 't' suffix.

An incomplete prefix ending with '[0-9]t'
resolves only among versions that also end with '[0-9]t'
2024-10-11 16:28:10 +03:00
Antoine Arbouin
03b60aafec
Support virtualenvs with names starting with "python-" (#3086) 2024-10-10 20:43:13 +03:00
Ivan Pozdeev
5180c3cfb5 2.4.14 2024-10-02 15:13:21 +03:00
Ivan Pozdeev
62fc392515 2.4.13 2024-09-18 07:38:48 +03:00
Ed Morley
d60d1c5cdc
Fix latest version resolution when using python- prefix (#3056)
Fixes use of version specifiers like `python-3.12`, which:
- have an explicit `python-` prefix
- are using a major version alias that has to be resolved
  to an exact version.

Also simplified the conditional for the already
working case, since it had two branches that were virtually identical.
2024-09-10 18:51:55 +03:00
Ivan Pozdeev
2e658d3e35 2.4.12 2024-09-07 18:50:46 +03:00
Ivan Pozdeev
b123520826 2.4.11 2024-09-04 22:52:25 +03:00
Tom Schraitle
57a6772451
Add /usr/etc/pyenv.d to hooks path (#3039)
The directory /usr/etc is an optional directory and used by
Fedora, RHEL 9, and openSUSE. The purpose of /usr/etc is to store
distribution-provided configuration files that can be overridden
by user-modified files in /etc.

/usr/etc is not in FHS. However, as Torsten stated in his comment
(https://github.com/thkukuk/atomic-updates_and_etc/issues/2#issuecomment-524848666)
"[FHS] is currently nearly as dead as LSB, we can only ignore it
if we don't want to stop and kill all innovation."
2024-08-24 12:38:54 +03:00
Ivan Pozdeev
9ecd803bff 2.4.10 2024-08-07 20:16:29 +03:00
Ivan Pozdeev
9e7010b72f 2.4.9 2024-08-05 01:54:31 +03:00
Ivan Pozdeev
f17809c4b9 2.4.8 2024-07-21 07:02:45 +03:00
Ivan Pozdeev
9373970678 pyenv-latest: replace -q with -b and -f, document as internal
More tailored for the emergent internal use cases
2024-07-21 06:31:42 +03:00
Ivan Pozdeev
adf3c2bccf 2.4.7 2024-07-06 04:44:35 +03:00
Ivan Pozdeev
ca90363d73 2.4.6 2024-07-05 06:57:48 +03:00
Jon Crall
672eef1561
Speed up pyenv prefix by not constructing advice text when it would be discarded (#3005)
by adding an internal flag
2024-07-04 03:49:12 +03:00
Sam Gross
384361167a
Add 3.13.0b3t and exclude it from pyenv latest (#3001)
This adds the free-threaded (without GIL) version of 3.13.0b3.

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2024-07-01 22:50:03 +03:00
Ivan Pozdeev
2c2c7616e2 2.4.5 2024-06-30 20:58:02 +03:00
Ivan Pozdeev
9546f729f7 2.4.4 2024-06-27 23:21:27 +03:00
Ivan Pozdeev
756aad2613 2.4.3 2024-06-12 22:48:15 +03:00
Ivan Pozdeev
0963c8ac02 2.4.2 2024-06-08 23:49:46 +03:00
Ivan Pozdeev
aabaa89243 2.4.1 2024-05-09 14:31:11 +03:00
Ivan Pozdeev
21eef94ea0 2.4.0 2024-04-07 21:29:02 +03:00
Ivan Pozdeev
b80d5fd28d 2.3.37 2024-04-07 20:48:40 +03:00
Alex Hedges
02e1d4a293
Handle case where pyenv-commands --sh returns nothing (#2908)
In exceptional cases (custom installation, malfunctions elsewhere), `pyenv-commands --sh` may return nothing.
In non-Fish, this would cause "syntax error near unexpected token `)'" in `pyenv()`.

Bash does not allow to specify a `case` option that would never match.
This works around it by defaulting to `/`. Commands, being filenames, can never match it.
In Fish, nothing needs to be done: it apparently does interpret a `case` without argument as one that never matches.
2024-02-26 00:07:52 +03:00
Ivan Pozdeev
5e4879a2bc v2.3.36 2024-02-14 00:58:44 +03:00