Настройка Python окружения и pip

Материал из ARK-HOSTER.RU | Документация хостинга
Версия от 10:34, 15 октября 2025; Admin (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Настройка Python окружения и pip

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка Python

Обновление системы

1. Обновите систему:

sudo apt update

2. Установите необходимые пакеты:

sudo apt install -y software-properties-common curl wget build-essential

Установка Python 3

1. Установите Python 3 и pip:

sudo apt install -y python3 python3-pip python3-venv python3-dev

2. Проверьте версии:

python3 --version
pip3 --version

3. Создайте символическую ссылку:

sudo ln -s /usr/bin/python3 /usr/bin/python
sudo ln -s /usr/bin/pip3 /usr/bin/pip

Установка Python через pyenv

1. Установите зависимости:

sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl

2. Установите pyenv:

curl https://pyenv.run | bash

3. Добавьте pyenv в .bashrc:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

4. Перезагрузите терминал:

source ~/.bashrc

5. Установите Python через pyenv:

pyenv install 3.11.0
pyenv global 3.11.0

3. Настройка pip

Обновление pip

1. Обновите pip до последней версии:

python -m pip install --upgrade pip

2. Проверьте версию:

pip --version

Настройка pip конфигурации

1. Создайте директорию для конфигурации:

mkdir -p ~/.config/pip

2. Создайте файл конфигурации:

nano ~/.config/pip/pip.conf

3. Добавьте настройки:

[global]
index-url = https://pypi.org/simple/
trusted-host = pypi.org
               pypi.python.org
               files.pythonhosted.org
timeout = 120
retries = 5

[install]
user = true

Настройка альтернативных репозиториев

1. Использование альтернативного индекса:

pip install -i https://pypi.douban.com/simple/ package_name

2. Настройка постоянного альтернативного репозитория:

pip config set global.index-url https://pypi.douban.com/simple/

3. Восстановление стандартного репозитория:

pip config set global.index-url https://pypi.org/simple/

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

Создание виртуального окружения

1. Создание окружения:

python -m venv myenv

2. Активация окружения:

source myenv/bin/activate

3. Деактивация окружения:

deactivate

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

1. Установите virtualenv:

pip install virtualenv

2. Создайте виртуальное окружение:

virtualenv myenv

3. Активация окружения:

source myenv/bin/activate

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

1. Скачайте и установите Miniconda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

2. Создайте окружение:

conda create -n myenv python=3.11

3. Активация окружения:

conda activate myenv

4. Деактивация окружения:

conda deactivate

5. Управление пакетами

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

1. Установка пакета:

pip install package_name

2. Установка конкретной версии:

pip install package_name==1.0.0

3. Установка из requirements.txt:

pip install -r requirements.txt

4. Установка в режиме разработки:

pip install -e .

Создание requirements.txt

1. Сохранение зависимостей:

pip freeze > requirements.txt

2. Сохранение только основных зависимостей:

pip freeze | grep -v "^-e" > requirements.txt

3. Установка из requirements.txt:

pip install -r requirements.txt

Управление зависимостями

1. Просмотр установленных пакетов:

pip list

2. Просмотр информации о пакете:

pip show package_name

3. Поиск пакетов:

pip search keyword

4. Обновление пакетов:

pip install --upgrade package_name

5. Удаление пакетов:

pip uninstall package_name

6. Создание Python приложения

Простое веб-приложение с Flask

1. Установите Flask:

pip install flask

2. Создайте файл app.py:

nano app.py

3. Добавьте код:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

@app.route('/api/users')
def get_users():
    return {'users': ['John', 'Jane', 'Bob']}

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

4. Запустите приложение:

python app.py

API сервер с FastAPI

1. Установите FastAPI:

pip install fastapi uvicorn

2. Создайте файл main.py:

nano main.py

3. Добавьте код:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    name: str
    email: str

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/users")
def get_users():
    return [{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}]

@app.post("/users")
def create_user(user: User):
    return {"id": 1, "name": user.name, "email": user.email}

4. Запустите сервер:

uvicorn main:app --host 0.0.0.0 --port 8000

7. Настройка веб-сервера

Настройка Nginx для Python

1. Установите Nginx:

sudo apt install -y nginx

2. Создайте конфигурацию:

sudo nano /etc/nginx/sites-available/python-app

3. Добавьте конфигурацию:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

4. Включите сайт:

sudo ln -s /etc/nginx/sites-available/python-app /etc/nginx/sites-enabled/

5. Перезапустите Nginx:

sudo systemctl restart nginx

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

1. Установите Gunicorn:

pip install gunicorn

2. Запустите приложение через Gunicorn:

gunicorn -w 4 -b 0.0.0.0:5000 app:app

3. Создайте systemd сервис:

sudo nano /etc/systemd/system/python-app.service

4. Добавьте конфигурацию:

[Unit]
Description=Python Web Application
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/python-app
Environment=PATH=/var/www/python-app/venv/bin
ExecStart=/var/www/python-app/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app
Restart=always

[Install]
WantedBy=multi-user.target

5. Запустите сервис:

sudo systemctl enable python-app
sudo systemctl start python-app

8. Управление зависимостями

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

1. Установите Poetry:

curl -sSL https://install.python-poetry.org | python3 -

2. Добавьте Poetry в PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

3. Инициализируйте проект:

poetry init

4. Добавьте зависимости:

poetry add flask
poetry add --dev pytest

5. Установите зависимости:

poetry install

6. Запустите приложение:

poetry run python app.py

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

1. Установите pipenv:

pip install pipenv

2. Инициализируйте проект:

pipenv install

3. Добавьте зависимости:

pipenv install flask
pipenv install --dev pytest

4. Активация окружения:

pipenv shell

5. Запуск приложения:

pipenv run python app.py

9. Тестирование

Настройка pytest

1. Установите pytest:

pip install pytest

2. Создайте тестовый файл:

nano test_app.py

3. Добавьте тесты:

import pytest
from app import app

@pytest.fixture
def client():
    app.config['TESTING'] = True
    with app.test_client() as client:
        yield client

def test_hello_world(client):
    response = client.get('/')
    assert response.status_code == 200
    assert b'Hello, World!' in response.data

def test_get_users(client):
    response = client.get('/api/users')
    assert response.status_code == 200
    assert 'users' in response.get_json()

4. Запустите тесты:

pytest

Настройка coverage

1. Установите coverage:

pip install coverage

2. Запустите тесты с покрытием:

coverage run -m pytest

3. Просмотр отчета:

coverage report
coverage html

10. Устранение неполадок

Частые проблемы

1. Проблемы с путями:

  • Проверьте PATH:
    echo $PATH
  • Обновите .bashrc
  • Перезапустите терминал

2. Проблемы с правами доступа:

  • Используйте виртуальные окружения
  • Не используйте sudo с pip
  • Настройте пользовательскую установку

3. Проблемы с зависимостями:

  • Очистите кэш pip:
    pip cache purge
  • Обновите pip:
    python -m pip install --upgrade pip
  • Используйте виртуальные окружения

Диагностика

1. Проверка версий:

python --version
pip --version

2. Проверка путей:

which python
which pip

3. Проверка установленных пакетов:

pip list

4. Проверка конфигурации pip:

pip config list

Заключение

Python окружение успешно настроено! Теперь вы можете разрабатывать и запускать Python приложения с правильным управлением зависимостями.

Для размещения ваших Python приложений на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Python и оптимизацией производительности ваших приложений!