Python создание и установка из requirements.txt
Для того чтобы создать список установленных пакетов в виртуальном окружении python (env/venv) и сохранить результат в файл requirements.txt, необходимо выполнить команду:
pip freeze > requirements.txt
Для того чтобы установить все пакеты из файла requirements.txt, необходимо выполнить команду:
pip install -r requirements.txt
Понятное дело, перед выполнением любой из команд, необходимо активировать виртуальное окружение, например, если виртуальное окружение создано в каталоге /script/venv то команда будет следующая:
переходим в каталог script:
cd /script
активируем виртуальное окружение:
source venv/bin/activate
чтобы выйти из виртуальное окружения, выполняем команду:
deactivate
Установка пакетов requirements.txt
Возник вопрос, если на «новой» машине отсутствует подключение к интернету (конечно же можно в ручную загрузить каждый пакет, после чего так же установить). Однако если в проекте используется ни один десяток пакетов, то это займет достаточно много времени. Есть ли способ к примеру загрузить все пакеты ссылаясь на requirements.txt в директорию, а после из директории их установить.
Отслеживать
задан 16 мая 2020 в 17:34
1,439 1 1 золотой знак 11 11 серебряных знаков 20 20 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Можно создать virtual environment, как это делают IDE и выгрузить:)
А можно просто взять уже сделанную из пайчарма, например
Отслеживать
ответ дан 17 мая 2020 в 8:25
336 1 1 серебряный знак 5 5 бронзовых знаков
- python
- python-3.x
- pip
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Установка пакетов с помощью pip в соответствии с файлом requirements.txt из локального каталога
Иногда при работе с Python возникает необходимость установить пакеты из локального каталога, используя файл requirements.txt. Этот файл содержит список всех пакетов, необходимых для работы проекта, и их версий. Пример содержимого такого файла:
BeautifulSoup==3.2.0 Django==1.3 Fabric==1.2.0 Jinja2==2.5.5 PyYAML==3.09 Pygments==1.4 SQLAlchemy==0.7.1 South==0.7.3 amqplib==0.6.1 anyjson==0.3 .
Такая ситуация часто возникает при работе с виртуальными окружениями, созданными с помощью инструмента virtualenv . Это позволяет изолировать пакеты, необходимые для конкретного проекта, от глобальных пакетов Python.
Допустим, есть виртуальное окружение, созданное следующим образом:
bin/virtualenv testing
Чтобы активировать это окружение, используется команда:
source bin/activate
Теперь, чтобы установить пакеты из локального каталога в соответствии с файлом requirements.txt, используется команда pip:
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
В результате выполнения этой команды pip попытается найти и установить все пакеты, указанные в файле requirements.txt, из локального каталога.
Однако, иногда после выполнения этой команды может возникнуть ситуация, когда пакеты, кажется, устанавливаются нормально, но при попытке их импортировать они не обнаруживаются, и они также отсутствуют в каталоге site-packages виртуального окружения. Это может быть связано с тем, что pip не смог правильно установить пакеты из локального каталога.
Чтобы решить эту проблему, можно попробовать следующие варианты:
- Убедиться, что путь к локальному каталогу и файлу requirements.txt указаны правильно.
- Убедиться, что все необходимые пакеты действительно присутствуют в локальном каталоге.
- Убедиться, что виртуальное окружение активировано перед выполнением команды pip.
- Попробовать переустановить пакеты с помощью pip, используя флаг —no-cache-dir, чтобы предотвратить использование кэшированных файлов пакетов:
pip install --no-cache-dir -r /path/to/requirements.txt -f file:///path/to/archive/
Эти рекомендации могут помочь успешно установить пакеты из локального каталога в соответствии с файлом requirements.txt.
Как установить requirements txt python
Файл со списком пакетов, необходимых для работы Python-приложения, называют файлом требований, requirements -файлом или просто реками. Обычно такой файл хранится в корневой директории исходного кода приложения и называется requirements.txt .
Такой файл можно создать самостоятельно с нуля или, уже в готовом приложении, с помощью команды:
pip freeze > requirements.txt
Для установки пакетов из requirements-файла нужно воспользоваться ключом r команды pip :
pip install -r requirements.txt
Кроме названий пакетов и номеров их версий в таких файлах могут (и должны) содержаться следующие полезные штуки.
Комплексные номера версий пакетов
pylint # последняя актуальная версия pylint == 2.1.3 # конкретная версия pylint >= 2.1.1 # минимально возможная версия pylint != 2.1.1 # любая версия кроме указанной pylint ~= 2.1 # совместимый релиз; в примере последняя версия 2.1.*
Комментарии
# Линтер для Python. pylint == 2
Ссылки на другие requirements-файлы
Делать инклуды, то есть включения одних requirements-файлов в другие, удобно для разделения пакетов на набор для разработки и продакшена.
Допустим у нас есть requirements.txt :
flask numpy pandas tensorflow
Для разработки нам нужны пакеты с линтером (pylint) и тестами (pytest). В таком случае можно создать файл requirements-dev.txt , в который осуществить инклуд основного файла с требованиями:
# Подключение основного файла со списком пакетов. -r requirements.txt pylint pytest
Подробнее о работе с requirements-файлами и pip в целом.
