Migrate Python-based Nautilus extensions to Python 3
The Python backend for the
nautilus-python extension will be updated from
python3. All Nautilus extensions written in Python will need to be checked for Python 3 compatibility and updated if necessary. Extensions compatible only with Python 2 will no longer be supported.
- Targeted release: Fedora 30
- Last updated: 2019-01-07
- Tracker bug: #1664077
- Release notes tracker: #278
nautilus-python package allows Nautilus extensions to be written in the Python scripting language. In Fedora releases up to and including Fedora 29, these extensions were executed in a Python 2 environment. With the general move to Python 3 as Fedora's default Python runtime and the impending deprecation of Python 2,
nautilus-python will execute extension code in a Python 3 context. Compatibility with Python 3 will be required for all Python-based Nautilus extensions.
(Note: In Fedora 28 the
nautilus-python package was named
python2-nautilus. For Fedora 29 the name has been reverted to
nautilus-python to better indicate its status as a Nautilus component.)
Benefit to Fedora
In addition to eliminating
nautilus-python's direct dependency on Python 2, this change will remove all Python-based Nautilus extensions from the list of Fedora components which still require the legacy Python 2 interpreter (which has been deprecated, and is slated for removal). It will allow us to ensure that all Python-based Nautilus extensions still in use are fully compatible with Python 3.
- Proposal owners: Build
nautilus-pythonwith Python 3 support and deploy.
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
N/A (not a System Wide Change)
How To Test
Launch the Nautilus file manager and verify that any functionality provided by Python-based extensions is still available.
As long as Python 3 compatibility is verified for all Nautilus Python extensions, users will see no impact from this change. If any extensions are not compatible with Python 3 and must be removed, users may notice loss of certain functionality from Nautilus.
Any Nautilus extensions which use
nautilus-python will have to be checked for Python 3 compatibility. Repackaging should not be necessary, as the
nautilus-python dependency Required by those packages will be carried forward to Python 3 builds.
The list of packages in the Fedora 29 repos which depend on
nautilus-python is, as of 2018-11-08:
Continue shipping builds of
nautilus-python based on Python 2.
- Contingency mechanism: N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change)
- Blocks product? None
N/A (not a System Wide Change)
The Nautilus Python extension has switched to the Python 3 runtime, and all Python-based Nautilus extensions now require Python 3 compatibility.