ли я направлении иду.
На серверах стоит отечественные OS, у которых версия python ограничена 3.6.x
И, самое главное, доступа к сети у них нет.
Python обычно разворачиваем максимально "весело".
Берём машину с доступом в интернет + аналогичной OS (Cent OS / Ubuntu), в зависимости от того, на каком дистрибутиве основан отечественный вариант.
генерируем виртуальное окружение (virtualenv).
ставим пакеты через pip... requirements.txt
после всего этого переносим собранный venv на машину без доступа к публичной сети.
кроме того, что мы ограничены в версии, меня не устраивает ещё тот факт, что virtualenv биндится к python системы.
Собственно, имеет ли шансы на успех мой план ?
1) На машине с интернетом подготовить архивы с необходимыми версиями python.
2) выполнить скрипт "download-pyenv-package" отсюда
https://github.com/pyenv/pyenv-installer/tree/master/bin, сформировав тем самым архив с pyenv.
3) архив, полученный на предыдущем шаге, скормить "pyenv-offline-installer.sh"
4) в папку $(pyenv root)/cache сложить архивы с интерпретаторами.
5) поставить интерпретаторы из кэш pyenv
6) в папке проекта создать файлик .python-version, указав туда нужную версию.
7) pyenv virtualenv ...
8) активируем рабочее окружение
9) ставим все пакеты через pip install --no-index --find-links=dir -r requirements.txt, предварительно сложив в папочку загруженные *.tar.gz версии пакетов.
я ничего из этого никогда не делал, даже pyenv не пользовался, да и что пакеты можно ставить локально не знал.
отсюда вопрос, стоит пробовать ? или я начитался всякого, а по факту это не жизнеспособная стратегия для работы с python без интернета и дабы отвязаться от системы ?
pyenv оно всё же больше под разработку, чем под развёртывание. Но направление мысли верное — собрать питон под целевую систему (либо найти уже кем-то собранный из доверенного источника).
Обсуждают сегодня