Можно ли установить пакет pip таким образом, чтобы он не отображался в списке при выполнении pip freeze > requirements.txt
?
Я думаю об эквиваленте: poetry add --dev
который добавляет (устанавливает) пакет в качестве зависимости разработки, но он не отображается в списке зависимостей.
Есть ли способ в pip
сделать что-то подобное?
Это я знаю, спасибо. Но я спрашивал себя - есть ли способ pip
установить пакет, но не указать его в списке pip freeze
- типа установки в режиме разработки. Я знаю, я мог бы вручную удалить его из requirements.txt
позже, но это чревато ошибками, потому что иногда его забывают удалить.
Использование pip freeze > requirements.txt
— плохая практика. Вы хотите иметь полный контроль над тем, что происходит в вашем проекте Python. requirements.txt Современная разработка на Python, а также любой JS или другой производственный набор методов опираются на управление пакетами, а также на виртуальные среды. Посмотрите на pipenv, который обрабатывает и то, и другое, устанавливая пакеты только в этом env и имея связанный с ним venv. В противном случае вам придется каждый раз поддерживать файл требований вручную.
Спасибо, Ремзи! Я поближе посмотрю на pipenv. Однако на работе я должен знать, как обращаться с файлом requirements.txt, потому что мне нужно использовать RStudio connect для развертывания, а для этого требуется файл requirements.txt.
@ Gwang-JinKim больше причин выступать за современный контроль пакетов. Я сделал простой поиск в Google и нашел эту статью с подробным описанием того, как работать с R-Studio и pipenv: r-bloggers.com/2022/09/…
@Remzi Спасибо за ответ! Я понимаю, что pipenv — это именно то, что я искал! Пожалуйста, напишите ответ, чтобы я мог его принять.
@Remzi - очень полезно! Спасибо! Я видел здесь drgabrielharris.medium.com/… что можно использовать pipenv для создания файла requirements.txt. pipenv lock -r > requirements.txt
именно то, что я искал. Итак, используя pipenv, я могу делать то, что хотел.
То, что вы хотите, это pipenv. Есть способы заставить RStudio работать с pipenv (ссылка на статью). Это позволяет как полный контроль пакетов, так и спецификацию версии Python для проекта, а также виртуальную среду, все в одном. В противном случае вам пришлось бы поддерживать свой файл requirements.txt вручную, а в дальнейшем также использовать файл limiteds.txt.
Думайте о файлах pipenv как о файлах yarn.lock (JS) и файле package.json + некоторые дополнительные приятные функции.
Вы можете использовать pipenv для создания файла requirements.txt, выполнив следующие действия:
pipenv lock -r > requirements.txt
Пока вы можете добавлять/устанавливать пакеты в режиме разработки:
pipenv install --dev <mypackage>
Если вы используете Poetry, список зависимостей будет в pyproject.toml.