pipenv как изолированное место для запуска программы
Я новичок в операционной системе Linux и в настоящее время изучаю Ubuntu. Я подошел к той части, где вы строите виртуальную среду. Я читал, что я должен использовать pipenv вместо venv.
Моя идеальная цель использования виртуальной среды - создать изолированное место со всеми моими потребностями для запуска программы (легко очистить после того, как программа мне больше не нужна), но я узнал, что использую pipenv есть разница между пакетами python, которые могут быть установлен с помощью pipenv и других пакетов, таких как postgreSQL или git, которые нельзя установить с помощью pipenv.
Насколько мне известно, такие пакеты, как postgreSQL и git, будут установлены глобально (для всей системы), а пакеты python будут установлены в среде pipenv. Поскольку моей идеальной целью является создание изолированного места со всеми пакетами для запуска определенных программ, есть ли способ заставить это работать?
1 ответ
Я думаю, что виртуальные среды Python (управляемые с помощью venv или pipenv) просто предназначены для изоляции одной среды Python от другой, то есть, например, для того, чтобы убедиться, что ваше приложение Python работает с точной версией пакетов, которые ему требуются, и не конфликтует с требованиями другого приложения.
Это не имеет ничего общего с системными инструментами, отличными от Python. Итак, если вы хотите создать свою собственную экспериментальную среду с вашей версией git, postgreSQL и т. д., лучше всего создать виртуальную машину (ВМ) или контейнер. Если вы новичок в обоих, возможно, виртуальную машину легче понять и использовать (это все равно, что иметь выделенный ПК для экспериментов).
Тем не менее, в системах Unix, безусловно, возможно управлять различными версиями инструментов (например, git) на одной машине. Если вы разработчик, вы можете установить их локально (например, в
Например, вы можете создать файл, такой как
my-git.sh
#!/bin/bash
PATH=~/local/git-1.2.3/bin:$PATH
export PATH
Затем, когда вы захотите использовать этот инструмент, в своем терминале вы можете ввести
$ source my-git.sh
и после этого в следующий раз, когда вы вызовете git в своей оболочке, он будет использовать двоичный файл в
Однако подобная установка гораздо сложнее и не обеспечивает полную изоляцию (например, общие библиотеки по-прежнему установлены в вашей системе).
Надеюсь это поможет.