파이썬

파이썬2는 페도라 30에서 더 이상 사용되지 않습니다

많은 파이썬 2 모듈은 배포판에서 제거되었습니다: 만약 다른 꾸러미(리프 꾸러미)에 의해 사용되지 않는 경우, 파이썬 2 가져 올 수 있는 모듈만 제공되는 꾸러미.

이와 같은 변경은 일반 사용자에게 영향을 주지 않을 때에, 시스템-꾸러미화 되어 있는 파이썬 모듈을 사용하는 개발자에게 영향을 미칩니다.

만약 당신은 파이썬 2와 함께 실행해야 하는 소프트웨어를 개발하는 경우라면, 우리는 가상 환경을 사용하고 파이썬 꾸러미 색인(PyPI)에서 종속성을 설치하는 것을 권장합니다. 자세한 내용은 다음에서 확인하세요: https://developer.fedoraproject.org/tech/languages/python/python-installation.html

We also recommend using a virtual environment (venv) for Python 3, if your software targets the wider Python ecosystem rather than Fedora specifically. Using venv will decouple your development environment from the system.

If you are developing for a Fedora package, please port to Python 3 as soon as possible. Almost complete Python 2 removal is planned for the next release.

파이썬 꾸러미를 위해 자동적으로 발생되는 의존성

The generator which generates Provides and Requires for Python RPM packages based on the setup.py file has been enabled by default. This makes the packaging of Python packages easier and more automatic by reusing information provided by the upstream project, and should result in fewer unecessary or missing dependencies in RPMs.

Progressbar2로 대체된 파이썬 진행 표시줄

progressbar 꾸러미는 progressbar2 포크를 사용하여 최신화 되었으며, 이는 새롭고 보다 향상되도록 관리됩니다.

Nautils 확장은 이제 파이썬 3를 사용합니다

As part of the general move to Python 3, extensions for the file browser and graphical shell Nautilus are now executed using Python 3, and extensions compatible only with Python 2 are no longer supported. Extensions packaged in the distribution have been updated for Python 3 compatiblity. Users who have installed their own extensions should check that they are compatible with Python 3 or remove them.

RPM이 비-파이썬 확장에서 페도라-관련 빌드 플래그를 피해야 합니다

When extension modules are built, the distutils module provides a set of compilation and link flags to ensure that modules are compiled in a way which is compatible with Python executable itself. When building modules in Fedora, the same set of flags was used for modules which are part of the distribution (i.e. part of an RPM package) and for modules compiled by users using Fedora. Those flags included custom GCC plugins and additional linker options to "harden" the code and add annobin annotations, which is appropriate for the distribution, but unexpected and unnecessary for user code. A distinct and smaller set of flags is now provided for extension modules compiled by users.

The build flags (CFLAGS, CXXFLAGS and LDFLAGS) saved in the Python’s distutils module for building extension modules are switched from:

  • %{build_cflags},

  • %{build_cxxflags}

  • %{build_ldflags}

  • %{extension_cflags},

  • %{extension_cxxflags}

  • %{extension_ldflags}.

This currently means that no GCC plugins (such as annobin) are activated and no GCC spec files (-specs= arguments) are used by default when building Python extension modules (e.g. with python3 setup.py build).

The python3-devel package will lose its runtime dependency on redhat-rpm-config (which was only required for annobin support and GCC spec files).

The change affects building extension modules by users, outside of the RPM environment. The Python standard library and Fedora’s Python 3 RPM packages are still built with the "traditional" set of flags (%{build_cflags} etc.), unless the package uses nonstandard methods to build the extensions.

파이썬 3.7과 3.6만 변경 될 것입니다.

For detailed information about this change, including justification and impact on Python developers and packages, see the Change page on the Wiki.