@spbpython

Страница 767 из 785
Gennady
10.09.2018
19:52:26
бухгалтерию?

Alex
10.09.2018
20:11:21
@pragus aaa ? :)

Roman
10.09.2018
20:14:25
Google
Alex
10.09.2018
20:15:01
юмор не для всех :)

Serge
11.09.2018
02:43:44
Вы куда-нибудь это запишите?
Оно записано во всех новостях и доступно по ссылке из митапа, там где выбираем темы, там они и есть

А как же accounting?
Identification ещё

Выбор тем для обсуждения 11 сентября сделан https://spbpython.guru/news/meetup-20180911-second-tuesday-again#disqus_thread Будем говорить про Authentication & Authorization сессии, JWT, OAuth с Михаилом @neatsoft и про регистрацию хендлеров в aiohttp с помощью aiohug c Данилом @nonamenix Ивановым Митап пройдет 11 сентября в ЦДО "Феникс" ? регистрация тут ?

amureki
11.09.2018
05:59:58
Roman
11.09.2018
06:26:28
Identification ещё
Нет, это уже лишнее. См aaa

Serge
11.09.2018
08:12:56
Прости, я что-то не уточнил, речь была про видеозапись докладов
А;) Посмотрим, как пойдет. Там есть аппаратура для этого в зале, но мне кажется обсуждения удобнее за столиками вести, которые там тоже есть.

Stepan
11.09.2018
15:54:10
Добрый день Кто-то настраивал когда-нибудь logging.conf в gunicorn-e? - у меня, по традиции, что-то не получается, хотел посоветоваться

Danil
11.09.2018
16:28:08
а тут аутентичненько )

Serge
11.09.2018
16:33:32




Google
Unstoppable
11.09.2018
18:32:38
Псс



#postmeetup

Serge
11.09.2018
19:44:37
Я бы там ETS2 запустил

Unstoppable
11.09.2018
19:46:38
Тут только DCS world и EliteDangerous)

Roman
11.09.2018
19:54:50
ааа! чорт!

Алексей
11.09.2018
20:12:04
ааа! чорт!
ты тоже в афиге что слайдов нет ?

Roman
11.09.2018
20:15:36
я в афиге, что забыл

я там был?

Serge
11.09.2018
20:52:57
я там был?
В Фениксе ты вроде был

Roman
11.09.2018
21:07:55
В Фениксе ты вроде был
Вообще - да. Сегодня - нет :)

Vasya
11.09.2018
21:48:47
есть более качественный способ бахнуть генератор, зависимый от двух других генераторов? def wp(n): gen = gg(n) gen2 = gg(n+1) while True: try: i,j = next(gen), next(gen2) except StopIteration: break yield i*3 + j*3

Maxim
11.09.2018
21:50:41
(i*3+j*3 for (i, j) in zip(gg(n), gg(n+1)))

Третий питон

zip работает с итераторами

Vasya
11.09.2018
21:51:22
я почему-то боялся, что он в список перегонит

Maxim
11.09.2018
21:51:22
Если я правильно понял вопрос)

Vasya
11.09.2018
21:51:24
спасибо

да

Maxim
11.09.2018
21:51:31
В третьем не должен

Google
Maxim
11.09.2018
21:51:33
Проверь)

Во втором для этого есть itertools.izip

Vasya
11.09.2018
21:52:42
у меня третий, все верно по логике, сейчас проверю в консольке

Sergey
12.09.2018
05:09:08
Переспрошу, на всякий
Так расскажи здесь в чем вопрос ?

Stepan
12.09.2018
05:24:07
Значит, помимо того, что я на питоне 2.5 дня пишу, поэтому с радостью приму в виде ответа Ссылки на адекватные ресурсы, вопрос : Есть logging.conf И есть строка запуска гуникорна Сейчас покажу и то и другое

[loggers] keys=root, gunicorn.error, gunicorn.access, requests.packages.urllib3.connectionpool, main [handlers] keys=log_file, syslog [formatters] keys=generic [logger_root] level=INFO handlers=log_file, syslog [logger___main__] level=DEBUG handlers=log_file, syslog propagate=0 qualname=main [logger_gunicorn.error] level=INFO handlers=log_file, syslog propagate=0 qualname=gunicorn.error [logger_gunicorn.access] level=INFO handlers=log_file, syslog propagate=0 qualname=gunicorn.access [logger_requests.packages.urllib3.connectionpool] level=WARN handlers=log_file, syslog propagate=0 qualname=requests.packages.urllib3.connectionpool [handler_syslog] class=logging.handlers.SysLogHandler formatter=generic args=('/dev/log') [handler_log_file] class=logging.FileHandler formatter=generic args=('/var/log/gunicorn.log',) [formatter_generic] format=%(asctime)s [%(process)d:%(name)s:%(lineno)s] [%(levelname)s] %(message)s datefmt=%Y-%m-%d %H:%M:%S class=logging.Formatter

А запускаю вот так

exec /usr/local/bin/gunicorn --pythonpath=/opt/image-processor -b 0.0.0.0:80 --workers=17 --log-syslog-prefix improc --log-config /opt/image-processor/improc/deploy/logging.conf --log-level=debug wsgi:app \&1

Вылетает с ошибкой :метод инит ожидает 1-4 параметра, а ты ему даёшь 9

TypeError: init() takes from 1 to 4 positional arguments but 9 were given Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: Traceback (most recent call last): Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/bin/gunicorn", line 11, in <module> Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: sys.exit(run()) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/app/wsgiapp.py", line 61, in run Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", line 223, in run Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: super(Application, self).run() Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", line 72, in run Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: Arbiter(self).run() Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", line 60, in init Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: self.setup(app) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", line 95, in setup Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: self.log = self.cfg.logger_class(app.cfg) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/glogging.py", line 200, in init Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: self.setup(cfg) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/local/lib/python3.5/dist-packages/gunicorn/glogging.py", line 256, in setup Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: disable_existing_loggers=False) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/lib/python3.5/logging/config.py", line 84, in fileConfig Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: handlers = _install_handlers(cp, formatters) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: File "/usr/lib/python3.5/logging/config.py", line 148, in _install_handlers Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: h = klass(*args) Sep 11 16:55:48 pre-image-processor1 docker-image-processor[13894]: TypeError: init() takes from 1 to 4 positional arguments but 9 were given

Maxim
12.09.2018
05:44:26
Опять показалось, что на python 2.5 пишут...

Stepan
12.09.2018
05:53:41
Есть идеи?)

Некто
12.09.2018
06:24:00
Есть идеи?)
Посмотреть метод инит который ругается на то что ты ему пихаешь 9 аргументов, хотя он может принять только 4

Посмотри что он ждёт и что ты ему суёшь

Admin
ERROR: S client not available

Denis
12.09.2018
06:29:31
А не версия

Stepan
12.09.2018
06:30:31
Все логично Спасибо

Google
Некто
12.09.2018
06:32:03
2.5 дня
Не проснулась ))

Maxim
12.09.2018
06:32:13
@stvlpotapov попробуй сделать args = ('/dev/log',)

внимание на запятую

Stepan
12.09.2018
06:32:51
Понял, сейчас попробую

Maxim
12.09.2018
06:34:00
конечно непедагогично с моей стороны...

Danil
12.09.2018
06:43:49
конечно непедагогично с моей стороны...
ох, какого же ты его опыта лешил ) ?

Maxim
12.09.2018
06:44:21
сарказм? ?

Danil
12.09.2018
06:44:58
Почему же? )

Stepan
12.09.2018
06:54:05
слушайте, я задам набор вопросов - на них нет точно правильного ответа, но они очень актуальны персональо для меня. Извините срау за большое количество букв и туповатых вопросов, но они все - просто результат жизни мой уровень - способность написать рест апи на фласке, обрабатывать изображения, интересным способом раскладывать матрицы, работать с докером и гуникорном - да и все пожалуй синтаксис я учил впопыхах, но занимался анализом изображений, поэтому случаются казусы в стиле: окей, с медианной фильтрацией разобрались, осталось понять, как работает импорт пакетов в питоне (раньше писал на матлабе только) ну и вот, вопросы, собственно: 1) не совсем понятны все скрипты, вида "__example__.py" чтобы пакет был "python package" надо добавить файл __init__.py пустой я писал на джаве, наличие "просто пустой файл" меня смущает, отсюда вопрос - они какие-то особенные? - как про них больше понять? 2) как работает импорт пакетов ? - я пришлю картинку, на ней иерархия папок будет, вот там абсолютно не ясно, почему импорт не работает 3) ооп на питоне - знаете какой-нибудь ресурс, который бы проводил аналогию между работы в джаве и работы в python ? 4) хочется сравнить gunicorn и uwsgi на качество работы, как это сделать без тестирования? 5) Вот я прочитал в свое время Хорстмана - java 8, потом прошел два курса по java - от специалиста (это такие курсы в мгу, видосы на ютубе), и от jetbrains, и теперь я могу сказать с уверенностью - дайте мне любую задачу, я начну ее решать, потому что я понимаю, как джава в принципе работает .. Что прочитать, чтобы такой же образ вокруг питона собрать?

Denis
12.09.2018
06:55:26
1 - совсем не пустой. ну то есть минимум пустой должен быть) а так он порой несёт мощную нагрузку

Алексей
12.09.2018
06:58:34
слушайте, я задам набор вопросов - на них нет точно правильного ответа, но они очень актуальны персональо для меня. Извините срау за большое количество букв и туповатых вопросов, но они все - просто результат жизни мой уровень - способность написать рест апи на фласке, обрабатывать изображения, интересным способом раскладывать матрицы, работать с докером и гуникорном - да и все пожалуй синтаксис я учил впопыхах, но занимался анализом изображений, поэтому случаются казусы в стиле: окей, с медианной фильтрацией разобрались, осталось понять, как работает импорт пакетов в питоне (раньше писал на матлабе только) ну и вот, вопросы, собственно: 1) не совсем понятны все скрипты, вида "__example__.py" чтобы пакет был "python package" надо добавить файл __init__.py пустой я писал на джаве, наличие "просто пустой файл" меня смущает, отсюда вопрос - они какие-то особенные? - как про них больше понять? 2) как работает импорт пакетов ? - я пришлю картинку, на ней иерархия папок будет, вот там абсолютно не ясно, почему импорт не работает 3) ооп на питоне - знаете какой-нибудь ресурс, который бы проводил аналогию между работы в джаве и работы в python ? 4) хочется сравнить gunicorn и uwsgi на качество работы, как это сделать без тестирования? 5) Вот я прочитал в свое время Хорстмана - java 8, потом прошел два курса по java - от специалиста (это такие курсы в мгу, видосы на ютубе), и от jetbrains, и теперь я могу сказать с уверенностью - дайте мне любую задачу, я начну ее решать, потому что я понимаю, как джава в принципе работает .. Что прочитать, чтобы такой же образ вокруг питона собрать?
3) На питоне не обязательно писать в стиле джава-стайл ООП. Подробнее, например, описывает Fluent Python.

Stepan
12.09.2018
07:01:44
Я все читаю, продолжайте пожалуйста

Алексей
12.09.2018
07:01:50
Вопросы 1 и 2 мне кажется можно объединить в тему python packaging и читать мануалы и ресурсы по ней. Вкратце - импорт может добавить пакеты из PYTHONPATH. Популяция pythonpath зависит от того где вы этот импорт запускаете. В общем виде это обычно либы питона и папка запуска скрипта.

Да я бы и продолжил, но вопрос актуальной спецификации языка меня заставил задуматься. Является ли таковой Python Reference Guide? Может ли Python Reference Guide конфликтовать с каким-нибудь PEP?

Stepan
12.09.2018
07:08:41
С гуникорном интересно в этом смысле вышло Оказалось, что версия 19.8 объявляет параметр для поддержки сислогов, который начинает работать только в 19.9)

Я писал как раз не в стиле ооп Потому что вопрос, например, а что с интерфейсами, они - то же, что и в джаве, и логика такая же? В общем, отсутствие общей картины сильно мешает

Stepan
12.09.2018
07:19:08
и что делать=) объявлять класс без реализации с именем "IwotOnInterface.py" =)

Google
Алексей
12.09.2018
07:20:09
и что делать=) объявлять класс без реализации с именем "IwotOnInterface.py" =)
Для начала понять чего вы хотели добиться введением интерфейса, мне кажется.

Stepan
12.09.2018
07:21:05
в смысле? - я могу рассказать, зачем могут быть нужны интерфейсы, если надо надо?

ioc там например

Страница 767 из 785