Подробный гайд по развёртыванию среды разработки Python 3.12 на CentOS 7 - Часть 4
18. Пример простого проекта
Создайте файлы проекта.
cd ~/projects/demo
source .venv/bin/activate
Создайте модуль:
cat > app.py <<'EOF'
def hello():
return "Hello"
def add(a, b):
return a + b
EOF
Создайте тесты:
cat > test_app.py <<'EOF'
from app import hello, add
def test_hello():
assert hello() == "Hello"
def test_add():
assert add(2, 3) == 5
EOF
Запустите тесты:
pytest
Проверьте линтером:
ruff check .
19. Полезные переменные окружения
Добавьте в ~/.bashrc:
cat >> ~/.bashrc <<'EOF'
export EDITOR=vim
export PYTHONDONTWRITEBYTECODE=1
export PYTHONUNBUFFERED=1
EOF
Примените:
source ~/.bashrc
Пояснение:
PYTHONDONTWRITEBYTECODE=1
не создавать файлы .pyc;
PYTHONUNBUFFERED=1
удобно для логов и отладки;
EDITOR
редактор по умолчанию.
20. Работа с Git
Проверьте версию:
git --version
В стандартных пакетах CentOS 7 Git может быть очень старым. Для базовой работы этого может хватить, но для современной разработки лучше установить более новый.
Настройте пользователя:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
Проверьте:
git config --list --global
Инициализируйте репозиторий в проекте:
cd ~/projects/demo
git init
git add .
git commit -m "Initial commit"
21. Установка более нового Git, опционально
Если нужен более современный Git, его можно собрать из исходников.
Установите зависимости:
sudo yum install -y \
curl-devel \
expat-devel \
gettext-devel \
perl-devel \
zlib-devel
Скачайте исходники:
cd ~/src
GIT_VER=2.45.2
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VER}.tar.gz
tar xzf git-${GIT_VER}.tar.gz
cd git-${GIT_VER}
Соберите и установите:
make prefix=/usr/local all -j"$(nproc)"
sudo make prefix=/usr/local install
Обновите кэш команд:
hash -r
git --version
Если команда показывает старую версию, проверьте:
which git
Должно быть:
/usr/local/bin/git
Если там /usr/bin/git, проверьте PATH:
echo $PATH
/usr/local/bin должен идти раньше /usr/bin.
22. Настройка VS Code
Есть два сценария.
22.1. Если вы работаете на сервере по SSH
Это самый удобный вариант для CentOS 7.
На своей локальной рабочей машине установите:
- Visual Studio Code.
- Расширение Remote - SSH.
Подключитесь к серверу:
- Нажмите
F1.
2. Введите:
Remote-SSH: Connect to Host...
3. Укажите:
dev@server_address
4. Откройте каталог проекта, например:
/home/dev/projects/demo
На удалённом сервере установите расширение Python.
Затем выберите интерпретатор:
- Нажмите
Ctrl + Shift + P.
2. Введите:
Python: Select Interpreter
3. Укажите:
./venv/bin/python
или:
/home/dev/projects/demo/.venv/bin/python
После этого VS Code будет использовать виртуальное окружение проекта.
22.2. Если графическая среда установлена на самой CentOS 7
Можно попробовать установить VS Code локально, но на старой системе это часто приводит к проблемам с зависимостями. Поэтому для CentOS 7 я рекомендую именно Remote-SSH.
23. Настройка PyCharm
Для PyCharm есть два основных варианта.
23.1. Удалённый интерпретатор
В локальном PyCharm можно настроить SSH-интерпретатор:
Settings → Project → Python Interpreter → Add Interpreter → On SSH
Укажите:
Интерпретатор: /home/dev/projects/demo/.venv/bin/python
23.2. JetBrains Gateway
Более современный вариант — использовать JetBrains Gateway:
- Установите JetBrains Gateway на локальной машине.
- Подключитесь к CentOS 7 по SSH.
- Откройте проект на сервере.
- Укажите виртуальное окружение
.venv.
24. Jupyter Notebook и JupyterLab
Если нужна работа с Jupyter, активируйте окружение проекта:
cd ~/projects/demo
source .venv/bin/activate
Установите:
pip install jupyterlab
Запустите только на локальном интерфейсе:
jupyter lab --ip=127.0.0.1 --no-browser --port=8888
Не открывайте порт наружу напрямую. Лучше использовать SSH-туннель.
На локальной машине выполните:
ssh -L 8888:127.0.0.1:8888 dev@server_address
После этого откройте в локальном браузере:
http://127.0.0.1:8888
25. Использование pip-конфигурации
Можно задать параметры pip для пользователя:
python3 -m pip config set global.timeout 60
Если нужен альтернативный индекс пакетов, например зеркало:
python3 -m pip config set global.index-url https://pypi.org/simple
Файл конфигурации обычно находится здесь:
~/.config/pip/pip.conf
Посмотреть текущие настройки:
python3 -m pip config list
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.