Как заморозить пакеты, установленные только в виртуальной среде, то есть без глобальных?
Как заморозить пакеты, установленные только в виртуальной среде?
Ответы (6)
Вам нужно использовать параметр -l
или --local
, чтобы заморозить только локальные пакеты (а не глобальные)
pip freeze -l > requirements.txt
Убедитесь, что вы работаете в virtualenv
, прежде чем выполнять pip freeze -l
.
python
для более старых версий): python3 -m pip freeze -l > requirements.txt
- person user2340939; 20.05.2019
Только локальные пакеты в виртуальной среде
pip freeze -l > requirements.txt # or --local instead of -l
Только локальные пакеты, установленные пользователем в виртуальной среде
pip freeze --user > requirements.txt
Дополнительную информацию см. В документации: https://pip.pypa.io/en/stable/reference/pip_freeze/.
Для меня (macOS) сработало следующее
path/to/venv/bin/pip3 freeze -l
Я использую Windows 10, python 3.6, моя виртуальная среда под названием env активирована с помощью командной строки. Я обнаружил, что pip freeze -l
не работает (ошибка), python -m pip freeze -l
не работает (получает глобальные пакеты), но меняется на мой каталог сценариев виртуальной среды и работает pip freeze
или pip freeze -l
. Вот пример этого решения / обхода моей виртуальной среды env:
cd \env\Scripts
pip freeze > ..\..\requirements.txt
Установите все, что вам нужно, чтобы заморозить в своей виртуальной среде, а затем
pip freeze > requirements.txt
После этого установите пакеты в виртуальной среде, которые вы не хотите замораживать.
Попробуйте следующую команду:
pip -E /path/to/env/ freeze
-E
использует внутри файла requirements.txt, чтобы показать адрес проекта управления версиями.
- person saul.shanabrook; 10.11.2011