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

Материал из ARK-HOSTER.RU | Документация хостинга
Версия от 08:32, 15 октября 2025; Admin (обсуждение | вклад) (Новая страница: «= Настройка Python окружения и pip = == 1. Подготовка системы == * Войдите в систему под учетной з…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Настройка 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 и оптимизацией производительности ваших приложений!