Pip устанавливает пакет таким образом, чтобы он не был указан в файле requirements.txt.

Можно ли установить пакет pip таким образом, чтобы он не отображался в списке при выполнении pip freeze > requirements.txt?

Я думаю об эквиваленте: poetry add --dev который добавляет (устанавливает) пакет в качестве зависимости разработки, но он не отображается в списке зависимостей.

Есть ли способ в pip сделать что-то подобное?

Если вы используете Poetry, список зависимостей будет в pyproject.toml.

9769953 11.11.2022 10:32

Это я знаю, спасибо. Но я спрашивал себя - есть ли способ pip установить пакет, но не указать его в списке pip freeze - типа установки в режиме разработки. Я знаю, я мог бы вручную удалить его из requirements.txt позже, но это чревато ошибками, потому что иногда его забывают удалить.

Gwang-Jin Kim 11.11.2022 10:33

Использование pip freeze > requirements.txt — плохая практика. Вы хотите иметь полный контроль над тем, что происходит в вашем проекте Python. requirements.txt Современная разработка на Python, а также любой JS или другой производственный набор методов опираются на управление пакетами, а также на виртуальные среды. Посмотрите на pipenv, который обрабатывает и то, и другое, устанавливая пакеты только в этом env и имея связанный с ним venv. В противном случае вам придется каждый раз поддерживать файл требований вручную.

Remzinho 11.11.2022 10:39

Спасибо, Ремзи! Я поближе посмотрю на pipenv. Однако на работе я должен знать, как обращаться с файлом requirements.txt, потому что мне нужно использовать RStudio connect для развертывания, а для этого требуется файл requirements.txt.

Gwang-Jin Kim 11.11.2022 10:41

@ Gwang-JinKim больше причин выступать за современный контроль пакетов. Я сделал простой поиск в Google и нашел эту статью с подробным описанием того, как работать с R-Studio и pipenv: r-bloggers.com/2022/09/…

Remzinho 11.11.2022 10:46

@Remzi Спасибо за ответ! Я понимаю, что pipenv — это именно то, что я искал! Пожалуйста, напишите ответ, чтобы я мог его принять.

Gwang-Jin Kim 11.11.2022 10:46

@Remzi - очень полезно! Спасибо! Я видел здесь drgabrielharris.medium.com/… что можно использовать pipenv для создания файла requirements.txt. pipenv lock -r > requirements.txt именно то, что я искал. Итак, используя pipenv, я могу делать то, что хотел.

Gwang-Jin Kim 11.11.2022 10:48
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
Python PyPDF2 - запись метаданных PDF
Python PyPDF2 - запись метаданных PDF
Python скрипт, который будет записывать метаданные в PDF файл, для этого мы будем использовать PDF ридер из библиотеки PyPDF2 . PyPDF2 - это...
Переменные, типы данных и операторы в Python
Переменные, типы данных и операторы в Python
В Python переменные используются как место для хранения значений. Пример переменной формы:
Почему Python - идеальный выбор для проекта AI и ML
Почему Python - идеальный выбор для проекта AI и ML
Блог, которым поделился Harikrishna Kundariya в нашем сообществе Developer Nation Community.
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Анализ продукта магазина на Tokopedia
Анализ продукта магазина на Tokopedia
Tokopedia - это место, где продавцы могут продавать свои товары. Товар должен быть размещен на витрине, чтобы покупателям было легче найти товар...
1
7
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

То, что вы хотите, это 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>

Другие вопросы по теме