Введение

Python - это интерпретируемый, высокоуровневый язык программирования общего назначения. Он поддерживает множество парадигм программирования, включая структурное, объектно-ориентированное и функциональное программирование. Python широко используется в веб-разработке, научных вычислениях, искусственном интеллекте и анализе данных.

Fedora 40 - это дистрибутив Linux, известный своей стабильностью и поддержкой новейших технологий. Он предоставляет отличную платформу для разработки на Python.

Подготовка системы Fedora 40

Перед установкой Python необходимо обновить систему. Это обеспечит наличие последних версий всех компонентов и исправлений безопасности.


sudo dnf check-update

Эта команда проверяет наличие обновлений для установленных пакетов.


sudo dnf upgrade --refresh

Данная команда обновляет все пакеты до последних версий. Флаг `--refresh` обновляет метаданные из репозиториев.


sudo dnf autoremove

Удаляет ненужные зависимости, которые больше не требуются системе.

Методы установки Python

1. Установка через DNF

DNF (Dandified Yum) - это менеджер пакетов по умолчанию в Fedora.


sudo dnf install python3 python3-pip python3-devel

Эта команда устанавливает:
- `python3`: Интерпретатор Python 3
- `python3-pip`: Система управления пакетами Python
- `python3-devel`: Заголовочные файлы и статические библиотеки для Python

После установки проверьте версию Python:


python3 --version

Pip устанавливается вместе с Python, проверьте его версию:


pip3 --version

2. Установка с помощью Pyenv

Pyenv позволяет устанавливать и управлять несколькими версиями Python на одной системе.

Сначала установим зависимости:


sudo dnf install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel libffi-devel

Эти пакеты необходимы для компиляции Python из исходников.

Клонируем репозиторий Pyenv:


git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Настраиваем переменные окружения:


echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
source ~/.bashrc

Теперь можно устанавливать различные версии Python:


pyenv install 3.9.7
pyenv global 3.9.7

`pyenv install` компилирует и устанавливает указанную версию Python.
`pyenv global` устанавливает версию Python по умолчанию для всей системы.

3. Компиляция из исходников

Этот метод дает наибольший контроль над процессом установки.


sudo dnf groupinstall "Development Tools"
sudo dnf install openssl-devel bzip2-devel libffi-devel
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
tar xzf Python-3.9.7.tgz
cd Python-3.9.7
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall

Разберем эти команды:
- `groupinstall "Development Tools"` устанавливает набор инструментов для разработки.
- `./configure --enable-optimizations` настраивает сборку с оптимизациями производительности.
- `make -j $(nproc)` компилирует Python, используя все доступные ядра процессора.
- `make altinstall` устанавливает Python, не заменяя системную версию.

Настройка рабочего окружения

Виртуальные окружения

Виртуальные окружения изолируют зависимости проекта от системных пакетов.


python3 -m venv myproject_env
source myproject_env/bin/activate

`python3 -m venv` создает новое виртуальное окружение.
`source` активирует это окружение, изменяя переменные PATH.

Установка пакетов

Pip - это система управления пакетами Python. Вот как установить несколько популярных библиотек:


pip install jupyter notebook pandas numpy matplotlib scikit-learn

- Jupyter Notebook: интерактивная среда разработки
- Pandas: библиотека для обработки и анализа данных
- NumPy: библиотека для научных вычислений
- Matplotlib: библиотека для создания графиков
- Scikit-learn: библиотека для машинного обучения

Работа с Python на Fedora 40

Интерактивный режим

Запустите интерактивную оболочку Python:


python3

Здесь вы можете выполнять Python-код построчно:


>>> print("Hello, Fedora 40!")
Hello, Fedora 40!
>>> 2 + 2
4
>>> exit()

Запуск скриптов

Создайте файл `hello.py`:


print("Hello from Python script!")

Запустите его:


python3 hello.py

Отладка

Для отладки используйте модуль `pdb`:


import pdb

def complex_function():
    x = 5
    y = 0
    pdb.set_trace()  # Точка останова
    result = x / y
    return result

complex_function()

При выполнении этого скрипта, вы попадете в интерактивный отладчик.

Оптимизация Python на Fedora 40

Использование PyPy

PyPy - это альтернативная реализация Python с JIT-компилятором:


sudo dnf install pypy3
pypy3 your_script.py

Cython

Cython позволяет компилировать Python-код в C для повышения производительности:


pip install cython

Пример использования Cython:


# hello.pyx
def say_hello_to(name):
    print(f"Hello, {name}!")

Компиляция:


cython hello.pyx
gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing \
    -I/usr/include/python3.9 -o hello.so hello.c

Профилирование

Для профилирования кода используйте модуль `cProfile`:


import cProfile

def slow_function():
    total = 0
    for i in range(1000000):
        total += i
    return total

cProfile.run('slow_function()')

Заключение

Эта статья предоставляет подробное руководство по установке, настройке и использованию Python на Fedora 40. Мы рассмотрели различные методы установки, базовую работу с языком, а также некоторые продвинутые техники оптимизации и отладки. Python на Fedora 40 предоставляет мощную и гибкую среду для разработки, подходящую как для начинающих, так и для опытных программистов.