Настройка Python окружения и pip — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Настройка Python окружения и pip = == 1. Подготовка системы == * Войдите в систему под учетной з…») |
Admin (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | * Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | ||
− | == 2. Установка Python | + | == 2. Установка Python == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y software-properties-common curl wget build-essential</pre> |
=== Установка Python 3 === | === Установка Python 3 === | ||
1. Установите Python 3 и pip: | 1. Установите Python 3 и pip: | ||
− | < | + | <pre>sudo apt install -y python3 python3-pip python3-venv python3-dev</pre> |
2. Проверьте версии: | 2. Проверьте версии: | ||
− | < | + | <pre>python3 --version</pre> |
− | < | + | <pre>pip3 --version</pre> |
3. Создайте символическую ссылку: | 3. Создайте символическую ссылку: | ||
− | < | + | <pre>sudo ln -s /usr/bin/python3 /usr/bin/python</pre> |
− | < | + | <pre>sudo ln -s /usr/bin/pip3 /usr/bin/pip</pre> |
=== Установка Python через pyenv === | === Установка Python через pyenv === | ||
1. Установите зависимости: | 1. Установите зависимости: | ||
− | < | + | <pre>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</pre> |
2. Установите pyenv: | 2. Установите pyenv: | ||
− | < | + | <pre>curl https://pyenv.run | bash</pre> |
3. Добавьте pyenv в .bashrc: | 3. Добавьте pyenv в .bashrc: | ||
− | < | + | <pre>echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc</pre> |
− | < | + | <pre>echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc</pre> |
− | < | + | <pre>echo 'eval "$(pyenv init -)"' >> ~/.bashrc</pre> |
4. Перезагрузите терминал: | 4. Перезагрузите терминал: | ||
− | < | + | <pre>source ~/.bashrc</pre> |
5. Установите Python через pyenv: | 5. Установите Python через pyenv: | ||
− | < | + | <pre>pyenv install 3.11.0</pre> |
− | < | + | <pre>pyenv global 3.11.0</pre> |
− | == 3. Настройка pip | + | == 3. Настройка pip == |
=== Обновление pip === | === Обновление pip === | ||
1. Обновите pip до последней версии: | 1. Обновите pip до последней версии: | ||
− | < | + | <pre>python -m pip install --upgrade pip</pre> |
2. Проверьте версию: | 2. Проверьте версию: | ||
− | < | + | <pre>pip --version</pre> |
=== Настройка pip конфигурации === | === Настройка pip конфигурации === | ||
1. Создайте директорию для конфигурации: | 1. Создайте директорию для конфигурации: | ||
− | < | + | <pre>mkdir -p ~/.config/pip</pre> |
2. Создайте файл конфигурации: | 2. Создайте файл конфигурации: | ||
− | < | + | <pre>nano ~/.config/pip/pip.conf</pre> |
3. Добавьте настройки: | 3. Добавьте настройки: | ||
− | < | + | <pre>[global] |
index-url = https://pypi.org/simple/ | index-url = https://pypi.org/simple/ | ||
trusted-host = pypi.org | trusted-host = pypi.org | ||
Строка 78: | Строка 78: | ||
[install] | [install] | ||
user = true | user = true | ||
− | </ | + | </pre> |
=== Настройка альтернативных репозиториев === | === Настройка альтернативных репозиториев === | ||
1. '''Использование альтернативного индекса''': | 1. '''Использование альтернативного индекса''': | ||
− | < | + | <pre>pip install -i https://pypi.douban.com/simple/ package_name</pre> |
2. '''Настройка постоянного альтернативного репозитория''': | 2. '''Настройка постоянного альтернативного репозитория''': | ||
− | < | + | <pre>pip config set global.index-url https://pypi.douban.com/simple/</pre> |
3. '''Восстановление стандартного репозитория''': | 3. '''Восстановление стандартного репозитория''': | ||
− | < | + | <pre>pip config set global.index-url https://pypi.org/simple/</pre> |
− | == 4. Виртуальные окружения | + | == 4. Виртуальные окружения == |
=== Создание виртуального окружения === | === Создание виртуального окружения === | ||
1. '''Создание окружения''': | 1. '''Создание окружения''': | ||
− | < | + | <pre>python -m venv myenv</pre> |
2. '''Активация окружения''': | 2. '''Активация окружения''': | ||
− | < | + | <pre>source myenv/bin/activate</pre> |
3. '''Деактивация окружения''': | 3. '''Деактивация окружения''': | ||
− | < | + | <pre>deactivate</pre> |
=== Использование virtualenv === | === Использование virtualenv === | ||
1. Установите virtualenv: | 1. Установите virtualenv: | ||
− | < | + | <pre>pip install virtualenv</pre> |
2. Создайте виртуальное окружение: | 2. Создайте виртуальное окружение: | ||
− | < | + | <pre>virtualenv myenv</pre> |
3. Активация окружения: | 3. Активация окружения: | ||
− | < | + | <pre>source myenv/bin/activate</pre> |
=== Использование conda === | === Использование conda === | ||
1. Скачайте и установите Miniconda: | 1. Скачайте и установите Miniconda: | ||
− | < | + | <pre>wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh</pre> |
− | < | + | <pre>bash Miniconda3-latest-Linux-x86_64.sh</pre> |
2. Создайте окружение: | 2. Создайте окружение: | ||
− | < | + | <pre>conda create -n myenv python=3.11</pre> |
3. Активация окружения: | 3. Активация окружения: | ||
− | < | + | <pre>conda activate myenv</pre> |
4. Деактивация окружения: | 4. Деактивация окружения: | ||
− | < | + | <pre>conda deactivate</pre> |
− | == 5. Управление пакетами | + | == 5. Управление пакетами == |
=== Установка пакетов === | === Установка пакетов === | ||
1. '''Установка пакета''': | 1. '''Установка пакета''': | ||
− | < | + | <pre>pip install package_name</pre> |
2. '''Установка конкретной версии''': | 2. '''Установка конкретной версии''': | ||
− | < | + | <pre>pip install package_name==1.0.0</pre> |
3. '''Установка из requirements.txt''': | 3. '''Установка из requirements.txt''': | ||
− | < | + | <pre>pip install -r requirements.txt</pre> |
4. '''Установка в режиме разработки''': | 4. '''Установка в режиме разработки''': | ||
− | < | + | <pre>pip install -e .</pre> |
=== Создание requirements.txt === | === Создание requirements.txt === | ||
1. '''Сохранение зависимостей''': | 1. '''Сохранение зависимостей''': | ||
− | < | + | <pre>pip freeze > requirements.txt</pre> |
2. '''Сохранение только основных зависимостей''': | 2. '''Сохранение только основных зависимостей''': | ||
− | < | + | <pre>pip freeze | grep -v "^-e" > requirements.txt</pre> |
3. '''Установка из requirements.txt''': | 3. '''Установка из requirements.txt''': | ||
− | < | + | <pre>pip install -r requirements.txt</pre> |
=== Управление зависимостями === | === Управление зависимостями === | ||
1. '''Просмотр установленных пакетов''': | 1. '''Просмотр установленных пакетов''': | ||
− | < | + | <pre>pip list</pre> |
2. '''Просмотр информации о пакете''': | 2. '''Просмотр информации о пакете''': | ||
− | < | + | <pre>pip show package_name</pre> |
3. '''Поиск пакетов''': | 3. '''Поиск пакетов''': | ||
− | < | + | <pre>pip search keyword</pre> |
4. '''Обновление пакетов''': | 4. '''Обновление пакетов''': | ||
− | < | + | <pre>pip install --upgrade package_name</pre> |
5. '''Удаление пакетов''': | 5. '''Удаление пакетов''': | ||
− | < | + | <pre>pip uninstall package_name</pre> |
− | == 6. Создание Python приложения | + | == 6. Создание Python приложения == |
=== Простое веб-приложение с Flask === | === Простое веб-приложение с Flask === | ||
1. Установите Flask: | 1. Установите Flask: | ||
− | < | + | <pre>pip install flask</pre> |
2. Создайте файл app.py: | 2. Создайте файл app.py: | ||
− | < | + | <pre>nano app.py</pre> |
3. Добавьте код: | 3. Добавьте код: | ||
− | < | + | <pre>from flask import Flask |
app = Flask(__name__) | app = Flask(__name__) | ||
Строка 199: | Строка 199: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
app.run(host='0.0.0.0', port=5000, debug=True) | app.run(host='0.0.0.0', port=5000, debug=True) | ||
− | </ | + | </pre> |
4. Запустите приложение: | 4. Запустите приложение: | ||
− | < | + | <pre>python app.py</pre> |
=== API сервер с FastAPI === | === API сервер с FastAPI === | ||
1. Установите FastAPI: | 1. Установите FastAPI: | ||
− | < | + | <pre>pip install fastapi uvicorn</pre> |
2. Создайте файл main.py: | 2. Создайте файл main.py: | ||
− | < | + | <pre>nano main.py</pre> |
3. Добавьте код: | 3. Добавьте код: | ||
− | < | + | <pre>from fastapi import FastAPI |
from pydantic import BaseModel | from pydantic import BaseModel | ||
Строка 233: | Строка 233: | ||
def create_user(user: User): | def create_user(user: User): | ||
return {"id": 1, "name": user.name, "email": user.email} | return {"id": 1, "name": user.name, "email": user.email} | ||
− | </ | + | </pre> |
4. Запустите сервер: | 4. Запустите сервер: | ||
− | < | + | <pre>uvicorn main:app --host 0.0.0.0 --port 8000</pre> |
− | == 7. Настройка веб-сервера | + | == 7. Настройка веб-сервера == |
=== Настройка Nginx для Python === | === Настройка Nginx для Python === | ||
1. Установите Nginx: | 1. Установите Nginx: | ||
− | < | + | <pre>sudo apt install -y nginx</pre> |
2. Создайте конфигурацию: | 2. Создайте конфигурацию: | ||
− | < | + | <pre>sudo nano /etc/nginx/sites-available/python-app</pre> |
3. Добавьте конфигурацию: | 3. Добавьте конфигурацию: | ||
− | < | + | <pre>server { |
listen 80; | listen 80; | ||
server_name your-domain.com; | server_name your-domain.com; | ||
Строка 261: | Строка 261: | ||
} | } | ||
} | } | ||
− | </ | + | </pre> |
4. Включите сайт: | 4. Включите сайт: | ||
− | < | + | <pre>sudo ln -s /etc/nginx/sites-available/python-app /etc/nginx/sites-enabled/</pre> |
5. Перезапустите Nginx: | 5. Перезапустите Nginx: | ||
− | < | + | <pre>sudo systemctl restart nginx</pre> |
=== Использование Gunicorn === | === Использование Gunicorn === | ||
1. Установите Gunicorn: | 1. Установите Gunicorn: | ||
− | < | + | <pre>pip install gunicorn</pre> |
2. Запустите приложение через Gunicorn: | 2. Запустите приложение через Gunicorn: | ||
− | < | + | <pre>gunicorn -w 4 -b 0.0.0.0:5000 app:app</pre> |
3. Создайте systemd сервис: | 3. Создайте systemd сервис: | ||
− | < | + | <pre>sudo nano /etc/systemd/system/python-app.service</pre> |
4. Добавьте конфигурацию: | 4. Добавьте конфигурацию: | ||
− | < | + | <pre>[Unit] |
Description=Python Web Application | Description=Python Web Application | ||
After=network.target | After=network.target | ||
Строка 295: | Строка 295: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
− | </ | + | </pre> |
5. Запустите сервис: | 5. Запустите сервис: | ||
− | < | + | <pre>sudo systemctl enable python-app</pre> |
− | < | + | <pre>sudo systemctl start python-app</pre> |
− | == 8. Управление зависимостями | + | == 8. Управление зависимостями == |
=== Использование Poetry === | === Использование Poetry === | ||
1. Установите Poetry: | 1. Установите Poetry: | ||
− | < | + | <pre>curl -sSL https://install.python-poetry.org | python3 -</pre> |
2. Добавьте Poetry в PATH: | 2. Добавьте Poetry в PATH: | ||
− | < | + | <pre>echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc</pre> |
− | < | + | <pre>source ~/.bashrc</pre> |
3. Инициализируйте проект: | 3. Инициализируйте проект: | ||
− | < | + | <pre>poetry init</pre> |
4. Добавьте зависимости: | 4. Добавьте зависимости: | ||
− | < | + | <pre>poetry add flask</pre> |
− | < | + | <pre>poetry add --dev pytest</pre> |
5. Установите зависимости: | 5. Установите зависимости: | ||
− | < | + | <pre>poetry install</pre> |
6. Запустите приложение: | 6. Запустите приложение: | ||
− | < | + | <pre>poetry run python app.py</pre> |
=== Использование pipenv === | === Использование pipenv === | ||
1. Установите pipenv: | 1. Установите pipenv: | ||
− | < | + | <pre>pip install pipenv</pre> |
2. Инициализируйте проект: | 2. Инициализируйте проект: | ||
− | < | + | <pre>pipenv install</pre> |
3. Добавьте зависимости: | 3. Добавьте зависимости: | ||
− | < | + | <pre>pipenv install flask</pre> |
− | < | + | <pre>pipenv install --dev pytest</pre> |
4. Активация окружения: | 4. Активация окружения: | ||
− | < | + | <pre>pipenv shell</pre> |
5. Запуск приложения: | 5. Запуск приложения: | ||
− | < | + | <pre>pipenv run python app.py</pre> |
− | == 9. Тестирование | + | == 9. Тестирование == |
=== Настройка pytest === | === Настройка pytest === | ||
1. Установите pytest: | 1. Установите pytest: | ||
− | < | + | <pre>pip install pytest</pre> |
2. Создайте тестовый файл: | 2. Создайте тестовый файл: | ||
− | < | + | <pre>nano test_app.py</pre> |
3. Добавьте тесты: | 3. Добавьте тесты: | ||
− | < | + | <pre>import pytest |
from app import app | from app import app | ||
Строка 372: | Строка 372: | ||
assert response.status_code == 200 | assert response.status_code == 200 | ||
assert 'users' in response.get_json() | assert 'users' in response.get_json() | ||
− | </ | + | </pre> |
4. Запустите тесты: | 4. Запустите тесты: | ||
− | < | + | <pre>pytest</pre> |
=== Настройка coverage === | === Настройка coverage === | ||
1. Установите coverage: | 1. Установите coverage: | ||
− | < | + | <pre>pip install coverage</pre> |
2. Запустите тесты с покрытием: | 2. Запустите тесты с покрытием: | ||
− | < | + | <pre>coverage run -m pytest</pre> |
3. Просмотр отчета: | 3. Просмотр отчета: | ||
− | < | + | <pre>coverage report</pre> |
− | < | + | <pre>coverage html</pre> |
− | == 10. Устранение неполадок | + | == 10. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
1. '''Проблемы с путями''': | 1. '''Проблемы с путями''': | ||
− | * Проверьте PATH: < | + | * Проверьте PATH: <pre>echo $PATH</pre> |
* Обновите .bashrc | * Обновите .bashrc | ||
* Перезапустите терминал | * Перезапустите терминал | ||
Строка 404: | Строка 404: | ||
3. '''Проблемы с зависимостями''': | 3. '''Проблемы с зависимостями''': | ||
− | * Очистите кэш pip: < | + | * Очистите кэш pip: <pre>pip cache purge</pre> |
− | * Обновите pip: < | + | * Обновите pip: <pre>python -m pip install --upgrade pip</pre> |
* Используйте виртуальные окружения | * Используйте виртуальные окружения | ||
Строка 411: | Строка 411: | ||
1. '''Проверка версий''': | 1. '''Проверка версий''': | ||
− | < | + | <pre>python --version</pre> |
− | < | + | <pre>pip --version</pre> |
2. '''Проверка путей''': | 2. '''Проверка путей''': | ||
− | < | + | <pre>which python</pre> |
− | < | + | <pre>which pip</pre> |
3. '''Проверка установленных пакетов''': | 3. '''Проверка установленных пакетов''': | ||
− | < | + | <pre>pip list</pre> |
4. '''Проверка конфигурации pip''': | 4. '''Проверка конфигурации pip''': | ||
− | < | + | <pre>pip config list</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:34, 15 октября 2025
Содержание
- 1 Настройка Python окружения и pip
Настройка 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):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных Python приложений
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой Python и оптимизацией производительности ваших приложений!