Ситуация: есть проект, я использую какой-то набор модулей, некоторые из них, например, pylint нужны только для работы IDE.
Что я сейчас делаю:
mkdir -p /path/to/project
cd /path/to/project
# Создадим виртуальное окружение
python -m venv .venv
# Активируем виртуальное окружение
. .venv/bin/activate
# Далее мы установим модули, нужные только при разработке
pip install pylint
# Сохраним список модулей в отдельный файл
pip freeze > dev-requirements.txt
Далее понадобится вспомогательная команда, ее нужно добавить в ~/.bashrc
либо ~/.zshrc
:
alias pip-freeze-ignore-dev='pip freeze | grep -vFxf dev-requirements.txt'
Теперь можем установит, необходимые в проекте модули:
pip install aiohttp aiodns cchardet gunicorn
Теперь сохраним список модулей:
pip-freeze-ignore-dev > requirements.txt
Я тут задумался, а может есть способы легче/проще/лучше? А Может я чего-то не знаю. Напрмер, pip freeze
сохраняет совершенно ненужные зависимости, да и версии библиотек не особо нужны.