Управление необходимыми пакетами Python с помощью requirements.txt
Если вы предоставляете общий доступ к проекту Python другим пользователям или используете систему сборки для создания приложения Python, необходимо указать все необходимые внешние пакеты. При планировании копирования проекта в другие расположения, где необходимо восстановить среду, необходимо также определить необходимые зависимые пакеты.
Рекомендуемый подход к указанию внешних зависимых пакетов Python — использовать файл требований (readthedocs.org). Этот файл содержит список команд pip, которые устанавливают все необходимые версии зависимых пакетов для проекта. Наиболее распространенная команда .pip freeze > requirements.txt
Эта команда записывает текущий список пакетов среды в requirements.txt
файл.
Файл требований содержит точные версии всех установленных пакетов. Файлы требований можно использовать для замораживания требований среды. Используя точные версии пакетов, вы можете легко воспроизвести среду на другом компьютере. Файлы требований включают пакеты, даже если они установлены с диапазоном версий, в качестве зависимости от другого пакета или установщика, отличного от pip.
Необходимые компоненты
Visual Studio, установленная с поддержкой рабочих нагрузок Python. Дополнительные сведения см. в статье "Установка поддержки Python в Visual Studio".
Файл требований. Вы можете использовать существующий файл требований или создать файл , как описано в этой статье.
Технически любое имя файла можно использовать для отслеживания требований. Однако Visual Studio предоставляет конкретную поддержку файла требований с именем "requirements.txt". Аргумент можно использовать -r <full path to file>
при установке пакета, чтобы указать предпочитаемое имя файла.
Установка зависимостей, перечисленных в requirements.txt
При загрузке проекта с файлом requirements.txt
можно установить все зависимости пакета, перечисленные в файле.
В Обозреватель решений разверните проект и разверните узел сред Python.
Найдите узел среды, для которого нужно установить пакеты. Щелкните узел правой кнопкой мыши и выберите " Установить" из requirements.txt.
Процесс установки пакета можно отслеживать в окне вывода :
В выходных данных перечислены все установленные пакеты, а также все обновления, необходимые для затронутых команд pip, и доступность более новых версий pip.
Установка зависимостей в виртуальной среде
Можно также установить зависимости пакета Python в существующей виртуальной среде.
В Обозреватель решений разверните проект и разверните узел сред Python.
Найдите узел виртуальной среды, для которого нужно установить пакеты. Щелкните узел правой кнопкой мыши и выберите " Установить" из requirements.txt.
Если вам нужно создать виртуальную среду, см. статью "Использование виртуальных сред".
Создание файла requirements.txt
Если все необходимые пакеты Python для проекта уже установлены в среде, можно создать requirements.txt
файл в Visual Studio.
В Обозреватель решений разверните проект и разверните узел сред Python.
Найдите узел среды, для которого нужно создать файл требований. Щелкните узел правой кнопкой мыши и выберите "Создать requirements.txt".
Обновление или добавление записей в существующий файл requirements.txt
requirements.txt
Если файл уже существует, Visual Studio отображает запрос с несколькими параметрами:
- Замените весь файл: перезаписать все элементы, комментарии и параметры, определенные в
requirements.text
файле. - Обновите существующие записи: обновите описатели версий в
requirements.text
файле, чтобы соответствовать текущей установленной версии. - Обновите и добавьте записи: обновите существующие требования в
requirements.text
файле и добавьте все новые требования к концу файла.
Visual Studio запускается pip
для обнаружения текущих требований к пакету для среды, а затем обновляет requirements.txt
файл на основе выбранного фрагмента.
Установка зависимостей пакета вручную
Если pip не устанавливает зависимость пакета, определенную в requirements.txt
файле, вся установка завершается ошибкой.
У вас есть два варианта решения этой проблемы:
Вручную измените
requirements.txt
файл, чтобы исключить неудачный пакет, а затем повторно запустите процесс установки.Используйте параметры команды pip для ссылки на устанавливаемую версию пакета.
Обновление файла требований с помощью пип-колеса
Если вы используете pip wheel
команду для компиляции зависимостей, можно добавить --find-links <path>
параметр в requirements.txt
файл.
pip wheel
Вызовите команду для компиляции списка необходимых зависимостей:pip wheel azure
В выходных данных показаны колеса, созданные для собранных пакетов:
Downloading/unpacking azure Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure Building wheels for collected packages: azure Running setup.py bdist_wheel for azure Destination directory: c:\project\wheelhouse Successfully built azure Cleaning up...
Добавьте и
find-links
no-index
параметры вместе с требованием версии пакета кrequirements.txt
файлу:type requirements.txt --find-links wheelhouse --no-index azure==0.8.0
Запустите процесс установки pip с обновленным файлом требований:
pip install -r requirements.txt -v
Выходные данные отслеживают ход выполнения процесса установки:
Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3)) Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl Installing collected packages: azure Successfully installed azure Cleaning up... Removing temporary dir C:\Project\env\build...