Установка пакетов 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.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
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 и что он делает в Python?
Файл requirements.txt в Python позволяет отслеживать модули и пакеты, используемые в ваших проектах. Проще говоря, файл requirements.txt — это просто файл .txt, в котором отслеживаются все требования к вашему пакету и версии пакета.
Это упрощает установку необходимых пакетов, как для себя, так и для других пользователей вашего кода. Смотреть на эти требования гораздо проще, чем смотреть на разные фрагменты кода, чтобы попытаться собрать их вместе.
Чтобы поделиться своим проектом, чтобы другой человек мог использовать его с теми же зависимостями, что и вы, без проблем. Это особенно полезно, потому что файл также отслеживает версии этих библиотек, гарантируя соблюдение минимальных требований!
Как создать файл requirements.txt в Python
Вы можете просто создать файл .txt, содержащий все ваши требования, менеджер проекта pip на самом деле значительно упрощает создание файла требований.
При работе в виртуальной среде вы можете просто использовать следующую команду:
pip freeze > requirements.txt
Когда вы запустите эту команду, в каталоге, в котором вы работаете, будет создан новый файл с именем requirements.txt . В этом файле будут перечислены различные пакеты и модули в вашей виртуальной среде. Это действительно все, что вам нужно!
В том числе, запуск этой команды также будет включать в файл номера версий пакетов.
Как установить все пакеты из файла requirements.txt с помощью Python
Главное преимущество в том, что каждый пользователь файла requirements.txt может установить все необходимые библиотеки и модули одной командой.
Если в корневой папке проекта есть файл requirements.txt , вы можете запустить команду ниже, чтобы установить все пакеты в файле:
pip install -r requirements.txt
Эта команда прочитает файл и установит все пакеты в файле. Ваш терминал отобразит список всех установленных библиотек и отобразит все ошибки, если они есть.
Как поддерживать файл requirements.txt в Python в актуальном состоянии
Теперь, когда вы создали файл requirements.txt , вам может быть интересно, как вы будете его поддерживать. Если вы хотите проверить, какие пакеты устарели, вы можете использовать следующую команду:
pip list --outdated
В нем будут перечислены все пакеты, в которых ваша версия пакета устарела, с вашей версией и самой последней версией.
Чтобы обновить пакет до последней версии, вы можете использовать следующую команду:
pip install -U package_name
package_name - это имя вашего пакета
Это обновит вашу версию до последней версии. Как только это будет сделано, вы можете повторно заморозить свои требования, повторно запустив команду:
pip freeze > requirements.txt
Выберите метод управления версиями для необходимых библиотек. Номера версий могут быть определены строго, либо нет.
Строгое равенство library==1.0.1
Больше или равно library>=1.0.1
Совместимая версия library~=1.0.1
Как установить пакеты из requirements.txt через pip, игнорируя ошибки
Простой способ установить список зависимостей пакета через стандартный Python менеджер пакетов. При этом чтобы pip не падал на первой же ошибке. Ниже представлены решения для Linux, Mac OS и Windows.
Стандартный способ установки зависимостей пакета через pip
pip install -r requirements.txt

плох тем, что при первой же ошибке скачивания пакета или же его зависимости останавливается. С одной стороны это правильно: если нет нужного пакета, то python программа будет неверно работать. С другой стороны, если нам нужно «оживить» плохо поддерживающийся проект, будет полезно установить хоть часть зависимостей, чтобы уменьшить объём работ по восстановлению.
Устанавливаем по-пакетно в pip из requirements.txt в Linux и MacOS
Самое замечательное, что формат самого файла requirements.txt чрезвычайно прост: каждая строчка — пакет с правилами для выбора версии без пробелов. И этот формат поддерживается самой командой pip . Поэтому достаточно построчно «скормить» cat-ом через xargs pip -у сам файл requirements.txt :
cat requirements.txt | xargs -n 1 pip install
Если же вы используете коментарии в вашем requirements.txt , то их можно исключить, используя grep:
grep -v '^#' requirements.txt | xargs -n 1 pip install
Так будут устанавливаться независимо пакет за пакетом, строчка за строчкой из файла зависимостей.
Устанавливаем пакеты в pip из requirements.txt по одному в Windows
Сам подход не сильно отличается от юниксового, но синтаксис у cmd.exe слегка другой. В частности, если мы хотим всё также прочитать строчку за строчкой из requirements.txt и выполнить на каждую pip install , нам потребуется FOR:
FOR /F %x IN (requirements.txt) DO pip install %x
Ну и вариант с учётом комментариев:
FOR /F %x IN (requirements.txt) DO ( IF NOT # == %x ( pip install %x ) )