| |
@@ -0,0 +1,99 @@
|
| |
+ = Update
|
| |
+
|
| |
+ == Updated Python package to latest version
|
| |
+
|
| |
+ The `python3` package is now updated to latest version 3.9 in Fedora 33. Previously, In Fedora 32 `python3` package version 3.8 was supported which is now updated.
|
| |
+
|
| |
+ This latest update of Python 3.9 will provide many enhancements. Some of the major highlights are:
|
| |
+
|
| |
+ * Added merge (`|`) and update (`|=`) union operators to `dict` class.
|
| |
+ * Type hinting generics in standard collections.
|
| |
+ * Supports more flexible function and variable annotations.
|
| |
+ * Provides relaxing grammar restrictions by allowing decorators to be any valid expression.
|
| |
+ * Support for the IANA time zone database in the `zoneinfo` module.
|
| |
+ * `removeprefix` and `removesuffix` string methods will remove prefixes and suffixes from a string.
|
| |
+ * CPython now uses a new parser based on parsing expression grammar (PEG).
|
| |
+
|
| |
+ == Notes on migrating user-installed pip packages
|
| |
+
|
| |
+ When you upgrade Fedora from versions 32 to Fedora 33, the main Python interpreter version changes from 3.8 to 3.9.
|
| |
+ If you have any Python packages installed using `pip`, you must complete the following procedure to migrate them to the new version:
|
| |
+
|
| |
+ . Install previous version of `python3` package:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo dnf install python3.8
|
| |
+ ----
|
| |
+
|
| |
+ . Get `pip` for the previous Python version:
|
| |
+ +
|
| |
+ ----
|
| |
+ python3.8 -m ensurepip --user
|
| |
+ ----
|
| |
+
|
| |
+ . Observe the installed packages:
|
| |
+ +
|
| |
+ ----
|
| |
+ python3.8 -m pip list
|
| |
+ ----
|
| |
+
|
| |
+ . Save the list with specific versions:
|
| |
+ +
|
| |
+ ----
|
| |
+ python3.8 -m pip freeze > installed.txt
|
| |
+ ----
|
| |
+
|
| |
+ . Install the same packages for the *now* default version:
|
| |
+ +
|
| |
+ ----
|
| |
+ python3 -m pip install --user -r installed.txt
|
| |
+ ----
|
| |
+
|
| |
+ . Uninstall user-installed packages for Python 3.8; this ensures proper removal of files in `~/.local/bin`:
|
| |
+ +
|
| |
+ ----
|
| |
+ python3.8 -m pip uninstall $(python3.8 -m pip list --user | cut -d" " -f1)
|
| |
+ ----
|
| |
+
|
| |
+ . Optionally, clean up the now empty directory structure:
|
| |
+ +
|
| |
+ ----
|
| |
+ rm -rf ~/.local/lib/python3.8/
|
| |
+ ----
|
| |
+
|
| |
+ . Optionally, remove the unneeded Python version:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo dnf remove python3.8
|
| |
+ ----
|
| |
+
|
| |
+ Additionally, if you have any `pip` packages installed using `sudo`, run the following commands _before running the final step above which removes `python3.8`_, or install it again temporarily:
|
| |
+
|
| |
+ . Get `pip` for the previous Python version for `root` user:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo python3.8 -m ensurepip
|
| |
+ ----
|
| |
+
|
| |
+ . Observe the system-installed packages:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo python3.8 -m pip list
|
| |
+ ----
|
| |
+
|
| |
+ . Uninstall installed packages for 3.8; this ensures proper removal of files in `/usr/local/bin`:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo python3.8 -m pip uninstall $(python3.8 -m pip list | cut -d" " -f1)
|
| |
+ ----
|
| |
+
|
| |
+ . Optionally, clean up now empty directory structure:
|
| |
+ +
|
| |
+ ----
|
| |
+ sudo rm -rf /usr/local/lib*/python3.8/
|
| |
+ ----
|
| |
+
|
| |
+ [IMPORTANT]
|
| |
+ ====
|
| |
+ If you followed the first procedure, the packages are already installed for your user account, which is the preferred option. Avoid using `sudo pip` in the future, these instructions are only intended to recover users who already used `sudo pip` in the past.
|
| |
+ ====
|
| |
Python package updated to latest version in Fedora 33.
Fixes Issue #424