Создать автономный изолированный питон - PullRequest
1 голос
/ 18 марта 2019

Я должен развернуть Python в производственной системе, и у меня есть несколько связанных с ним модулей Python.

Есть ли способ установить Python только с определенным списком модулей?Как и при создании jar, вы можете иметь папку со всеми другими jar-файлами зависимостей в папке, которая будет красивой и чистой.Я не хочу компилировать код Python, поэтому я хочу что-то подобное.

(Примечание: я также не хочу создавать виртуальную среду - я хочу среду по умолчанию, подобную этой)

Ответы [ 3 ]

1 голос
/ 18 марта 2019

Если вы не хотите делать то, что предлагает Амир выше, тогда доступны 2 другие опции:

  1. Скопируйте эти модули и поместите их в ту же папку, где установлен ваш скрипт
  2. Создайте файл require.txt с именем и версией этих модулей, а затем запустите «pip install -r needs.txt», чтобы установить эти модули в папку вашего сайта-пакетов
1 голос
/ 18 марта 2019

Для управления своими пакетами Python вы можете использовать отличный инструмент virtualenv , он выглядит очень просто и хорошо работает на linux / macOS / Windows . Любой пакет, который будет установлен в активированный virtualenv , будет доступен только в этом virtualenv , так что вы можете иметь, например, 3 разные версии пакета "Django" на своей машине и работать с ними используя разные виртуальные среды:

Установить virtualenv:

$ pip3 install virtualenv 

Создайте свой virtualenv:

$ virtualenv -p python3 my_virtualenv_name

Активируйте свой virtualenv:

$ . my_virtualenv_name/bin/activate

Проверьте, какие пакеты были установлены:

$ pip freeze

Установите любой пакет, например "Django":

$ pip install Django

Подтвердите установку:

$ pip freeze | grep Django

Удалите любой пакет из вашей виртуальной среды:

$ pip uninstall Django -y

Удалите все пакеты из вашей виртуальной среды:

$ pip freeze | xargs pip uninstall -y

Деактивировать virtualenv

$ deactivate

Больше информации в официальной документации: https://virtualenv.pypa.io/en/latest/

1 голос
/ 18 марта 2019

Вы можете либо использовать virtualenv , что в основном соответствует названию, либо вы можете использовать Docker, который лично я предпочитаю

...