Size: a a a

2019 December 25

KS

Konstantin Sirotkin in Python Flask
им что, virtualenv каждый раз настраивать?
источник

K

Koote in Python Flask
Konstantin Sirotkin
короче вопрос в том, как этими скриптами будут пользоваться живые админы
Возможно используя ансибл
источник

KS

Konstantin Sirotkin in Python Flask
ой не
источник

KS

Konstantin Sirotkin in Python Flask
точно не ансибл
источник

KS

Konstantin Sirotkin in Python Flask
спасибо за ссылку
источник

K

Koote in Python Flask
Не за что
источник

A

Alex in Python Flask
Konstantin Sirotkin
им что, virtualenv каждый раз настраивать?
Ты хочешь что ли pip install -e в entrypoint контейнера сделать?
источник

ОК

Омурбек уулу Кайрат in Python Flask
Alex
Ты хочешь что ли pip install -e в entrypoint контейнера сделать?
А как библиотеки устанавливать ?
источник

A

Alex in Python Flask
Омурбек уулу Кайрат
А как библиотеки устанавливать ?
Как обычно pipenv
источник

AT

Alex Ted in Python Flask
Alex
Как обычно pipenv
+1
источник

AT

Alex Ted in Python Flask
ну можно еще poetry попробовать
источник

AT

Alex Ted in Python Flask
всё, других вариантов нет
источник

KS

Konstantin Sirotkin in Python Flask
Alex
Ты хочешь что ли pip install -e в entrypoint контейнера сделать?
вообще да
источник

KS

Konstantin Sirotkin in Python Flask
сейчас попробую сформулировать
источник

KS

Konstantin Sirotkin in Python Flask
Проект на питоне пакуется в докер-контейнер и заливается в AWS ECS. Управление зависимостями сделано через pipenv. Есть два разных докер-образа, один для прода (который и заливается в AWS), второй для локальной разработки. В продовском контейнере в контейнере пакуется все. В локальный контейнер копируется только pipfile, запускается pipenv, в контейнере устанавливаются все зависимости. После этого локальная директория с исходниками монтируется в контейнер. Поэтому локальный контейнер нужно пересобирать только если изменятся зависимости. А так изменения в сорцах сразу пробрасываются в контейнер.

На этом этапе все работает.
источник

АП

Агент Печенька in Python Flask
Можно один контейнер, но локально подмонтировать код. Но это так, мысли вслух.
источник

KS

Konstantin Sirotkin in Python Flask
Теперь что я пытаюсь сделать. В проекте есть команды, написанные на click. Сейчас они выполняются как-то так: pipenv run python myscript.py --some-arg --some-other-arg=123. Я почитал документацию на click, и там рекомендуют написать setup.py, а потом собственные сорцы поставить через pip install -e. Тогда можно будет делать pipenv run myscript --some-arg --some-other-arg=123.

В локальном варианте такое не работает, потому что на этапе сборки контейнера директория с исходниками еще не примонтирована.

Вопрос: стоит ли этим вообще заморачиваться? Какие еще выгоды дает использование setuptools с click?
источник

KS

Konstantin Sirotkin in Python Flask
Агент Печенька
Можно один контейнер, но локально подмонтировать код. Но это так, мысли вслух.
для прода нужен свой контейнер, я ж в амазон свою локальную директорию не проброшу :)
источник

KS

Konstantin Sirotkin in Python Flask
вот как оно локально используется
источник

KS

Konstantin Sirotkin in Python Flask
docker run --interactive \
          --tty \
          --rm \
          --volume "$(pwd)/src":/usr/src \
          --network="host" my/image:latest \
          pipenv run "$@"
источник