Как переместить установленные пакеты во вновь созданную виртуальную среду? - PullRequest
0 голосов
/ 22 декабря 2018

Я загрузил много пакетов в глобальную среду (скажем так).Теперь я хочу создать новую виртуальную среду и переместить некоторые пакеты в эту среду.Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Если вы попытаетесь скопировать или переименовать виртуальную среду, вы обнаружите, что скопированная среда не работает.Это связано с тем, что виртуальная среда тесно связана как с Python, с которым она была создана, так и с местоположением, в котором она была создана. (Параметр «перемещаемый» не работает.

Однако это очень легко исправитьВместо того, чтобы перемещать / копировать, просто создайте новое окружение на новом месте. Чтобы создать VirtualEnvironment. Этот способ работает для меня, или вы можете увидеть ссылку ниже:

pip install virtualenv
virtualenv NameOfYourVirtualEnvironment
virtualenv NameOfYourVirtualEnvironment/bin/activate

Затем выполните pip freeze > requirements.txt встарая среда для создания списка установленных в ней пакетов, которая в вашем случае является глобальной средой. При этом вы можете просто запустить pip install -r requirements.txt в новой среде для установки пакетов из сохраненного списка. Конечно, вы можете копировать требования.txt между компьютерами. Во многих случаях это будет просто работать, иногда вам может потребоваться несколько модификаций для require.txt для удаления специфичных для ОС вещей.

Источник: https://chriswarrick.com/blog/2018/09/04/python-virtual-environments/

И также это может работать для вас: Как импортировать глобально установленный пакет в папку virtualenv https://gist.github.com/k4ml/4080461

0 голосов
/ 22 декабря 2018

Хотя вы можете копировать файлы / каталоги из каталога site-packages вашей глобальной установки в пакеты site вашего виртуального окружения, вы можете столкнуться с проблемами (отсутствующие файлы, несоответствие двоичных файлов или другие).Не делайте этого, если вы новичок в механизмах упаковки Python.

Я бы посоветовал вам запустить pip freeze из вашей глобальной установки, чтобы получить список того, что вы установили, а затем сохранить этот вывод какrequirements.txt с вашим источником, и поместите его под управление источником.Затем запустите pip install -r requirements.txt после активации вашего virtualenv, и вы скопируете зависимости (с теми же версиями) в ваш virtualenv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...