
Tishka17
02.11.2018
17:38:17
И сам бинарь пропал

?? Eugene
02.11.2018
17:38:27
))

Tishka17
02.11.2018
17:38:27

?? Eugene
02.11.2018
17:39:08
Обратная совместимость у питона, не сломается твой проект

Google

?? Eugene
02.11.2018
17:39:24
Главное - версии внешних зависимостей запинить

Никита
02.11.2018
17:39:45
если бы я достаточно хорошо знал архитектуру linux, все бы работало)
тем временем у меня переустановился линукс

Tishka17
02.11.2018
17:42:39
Перестань переставлять Линукс. Начни юзать докер
Ты все равно же хотел

Никита
02.11.2018
17:43:12
ну хочется мне)
докер вроде же для масштабирования, а мне мастабировать то нечего

Tishka17
02.11.2018
17:44:03
Нет. Он для изоляции
Для масштабирования kubernetes

Никита
02.11.2018
17:44:43
ок
последний разочек
запустил сборку питона из исходного кода

Tishka17
02.11.2018
17:45:12
Короче, пересоздать контейнер быстрее чем переставить лсь

Google

Tishka17
02.11.2018
17:46:34
И да, по хорошему в проде у тебя не должно быть того хлама что ты ставил для компиляции
А соответственно, результатом сборки у тебя должен стать пакет

Никита
02.11.2018
17:47:26
ага...
их потом можно удалить?

Tishka17
02.11.2018
17:47:57
Не не. Собирать на продакшн машине - это странно

Никита
02.11.2018
17:49:09
ну собрать, удалить, выкатить докер

Tishka17
02.11.2018
17:49:25
Я бы рекомендовал сделать так:
1. Скрипты сборки и Спек файлы в Гите
2. Отельный сервер для сборки
3. Отельный сервер - твой yum репозиторий
4. В прод ставится пакет из твоего репозитория
Если из стандартного не нравится пакет

Никита
02.11.2018
17:49:55
ОООООО
класс

Tishka17
02.11.2018
17:50:16
Но так как это совершенно не целесообразно для твоей задачи, то нафиг

Никита
02.11.2018
17:50:48
да не, мне нравится
отдельный сервер для сборки -аааа, это великолепно

Tishka17
02.11.2018
17:52:02
Не забываем, что
1. пакеты надо регулярно обновлять, так как ошибки и уязвимости. А значит пересобирать.
2. при обновлении надо тестировать. А так как это вообще твоя сборка - тестировать больше

Никита
02.11.2018
17:53:26
зато смогу всегда откатиться
если что-то сломается

Tishka17
02.11.2018
17:53:41
Будешь ли?
Вероятность что сломается питон в репозитории который юзают тысячи людей - меньше, чем ошибка в твоём коде
На порядки

Google

Tishka17
02.11.2018
17:55:09
А ещё есть питоновские модули сторонние. Они тоже ломаются

Никита
02.11.2018
17:55:50
requerements/ еще будут...

Tishka17
02.11.2018
17:56:06
Ну вот. Версия питона - меньшая проблема
Ещё будут проблемы с настройкой системы

Никита
02.11.2018
17:57:18
ну все таки) систему я переустановил, питон тоже...решение того трабла есть?

Tishka17
02.11.2018
17:57:26
И судя по проблемам со сборкой не факт, что ты сможешь корректно диагностировать

Никита
02.11.2018
17:57:56
ладно, спасибо

Tishka17
02.11.2018
17:58:26

Никита
02.11.2018
17:59:47
ничего не делал

?? Eugene
02.11.2018
18:00:07
ну давай, ключ на старт

Никита
02.11.2018
18:01:18

Tishka17
02.11.2018
18:01:52

Никита
02.11.2018
18:02:03
make altinstall

It'sMe
02.11.2018
18:05:15

?? Eugene
02.11.2018
18:06:36
ты указал куда устанавливать-то?
—prefix=/usr
./configure --prefix=/usr --enable-optimizations

ivan
02.11.2018
18:11:28
актуально?
Ну, попробуй
Вообще это не совсем то, что я хотел
Я решил эту таску создав асинхроннную джобу, которая отслеживает изменения после вызова method_a и вызывает method_b на эти изменения

Google

Никита
02.11.2018
18:11:57
нет, не указал

ivan
02.11.2018
18:12:23
Вероятно, я плохо объяснил суть задачи

It'sMe
02.11.2018
18:13:28
то есть method_a по должен вызываться последним
после method_b

ivan
02.11.2018
18:14:43

It'sMe
02.11.2018
18:14:44
и это подразумевает наличие костылей
и я придумал один

Admin
ERROR: S client not available

ivan
02.11.2018
18:15:17
Я просто проблему не до конца расписал по идее

It'sMe
02.11.2018
18:15:22
Ну да, так и работает
Неправильно расписал
def decorate(method):
def wrapper(*args, **kwargs):
method(args[0])
args[1].methodb()
return wrapper
class Class1:
@decorate
def methoda(self):
print("in a")
class Class2:
def __init__(self):
self.class1 = Class1()
def methodb(self):
print("in b")
if __name__ == "__main__":
a = Class2()
a.class1.methoda(a)

ivan
02.11.2018
18:18:37
Думаю, так будет понятней

Егор
02.11.2018
18:24:14
всем привет! У меня приложуха с бэком на фласке, решил запилить в нее вебсокеты, чтобы реализовать на фронте уведомления и сообщения
обнаружил огромную зияющую дырень в гугле по этому направлению
хотел было flask-asyncio но не ворк, статей и уроков толком нет, много протухшего материала

ivan
02.11.2018
18:24:55
Юзай aiohttp или sanic

Google

Zi
02.11.2018
18:25:18
https://flask-socketio.readthedocs.io/en/latest/

ivan
02.11.2018
18:25:25
Sanic оч похож на flask, так что переход безболезненный

Егор
02.11.2018
18:26:03
я с этой темой раньше не сталкивался, ломаю шаблон. Подскажите пару вещей плз
выходит что нужно запускать вебсокет-сервак отдельной приложухой?

ivan
02.11.2018
18:26:51

Alex
02.11.2018
18:27:21
make altinstall
Возможно это уже обсуждали, но я все же спрошу. Нахрен ты ставишь питон из исходников?

Егор
02.11.2018
18:27:35

Никита
02.11.2018
18:27:45
чтобы версия с годами не менялась и мог откатиться

ivan
02.11.2018
18:28:36

It'sMe
02.11.2018
18:28:41

Alex
02.11.2018
18:28:57

It'sMe
02.11.2018
18:29:07
я правилно понимаю?

ivan
02.11.2018
18:29:13

Никита
02.11.2018
18:29:20
а в докере можно конкретный питон поставить?
типа 3.6.5

Егор
02.11.2018
18:29:52

Alex
02.11.2018
18:29:58

Егор
02.11.2018
18:30:06
ubuntu репозиторий deadsnakes, найдется все
тут думаю даже дкер особо не нужен