Я начал смотреть на pipenv
, и это кажется довольно хорошим. Единственное, что меня беспокоит, это то, что в большинстве моих проектов задействованы numpy
, scipy
и некоторые другие не такие маленькие библиотеки.
Текущий способ управления моими проектами:
У меня установлены pyenv
и pyenv-virtualenv
. У меня есть несколько (в настоящее время 4) конкретных virtualenvs
, которые каждый обслуживает тип проекта. Сами проекты имеют .pyenv-version
, у меня включена функция автозагрузки virtualenv pyenv
. Если мне нужно поделиться проектом, я генерирую requirements.txt
с pip freeze -l
из virtualenv
.
Итак, в моей текущей настройке у меня есть X
количество проектов и Y, Y << X
количество virtualenvs
, все из которых составляют несколько ГБ на жестком диске. Обратите внимание, что из-за больших библиотек, таких как numpy
, каждая из virtualenvs
довольно большая, около 700-900 МБ.
Мой вопрос:
Насколько я понимаю, pipenv
по умолчанию создаст virtualenv
для всех моих проектов, поэтому пространство на жестком диске, занимаемое моим virtualenvs
, значительно увеличится. То, что меня интересует, это:
- возможно ли совместно использовать
pipenv
среды в нескольких проектах, которые используют точно одинаковые зависимости? то есть несколько pipenv
конфигов, которые загружают один и тот же virtualenv
?
- если нет, возможно ли создать
pipenv
конфигурационные файлы из virtualenv
, который я настроил с pyenv
? то есть я бы не использовал pipenv
для фактического запуска своих проектов, я бы не создавал virtualenvs
с pipenv
, но я бы создал pipenv
конфигурационные файлы для совместного использования проекта (в этом случае, вероятно, рядом с requirements.txt
)
редактировать :
Я переписал большую часть вопроса, чтобы сделать его более понятным.