
Ray
05.05.2016
08:31:54
вижу господа изволили в конкурсе ботописцев участвовать

Kolyann
05.05.2016
08:32:08
Когда ищешь час/день/век что-то в одном месте
А тебе так: а это не тут меняется.

Sasha
05.05.2016
08:32:49
Ну я решил немного разрядиться

Google

Sasha
05.05.2016
08:35:22
А есть ли смысл писать на веб-фреймворках?
Я посмотрел либы, вроде там всего достаточно

Whore Amazing
05.05.2016
08:36:32
есть смысл писать на ботофреймворках.
без них писать тоже есть смысл, но его немного.

Sasha
05.05.2016
08:54:37
А какие лучше использовать конфиги в случае с ботами? ООПшные, как в веб приложениях:
class Config(object}:
BLA = ''
class DevelopmentConfig(Config):
BLA=os.environ.get('BLA')
или использовать конфигпарсеры?

Whore Amazing
05.05.2016
08:55:10
я прямо в коде пишу.

Sasha
05.05.2016
08:55:14
Ну т.е. там будут настройки бд и прочее, что поидее не должно быть запушено

Whore Amazing
05.05.2016
08:55:39
я не пушу, так что пишу в коде :)

Sasha
05.05.2016
09:21:26
сделал оопшные конфиги.
Не знаю даже, извращение или нет

Aliaksiej
05.05.2016
09:27:10
я кажется слоупок (даже видел ссылку в этом чате), но блин, круто же
https://habrahabr.ru/post/282972/?amp;utm_medium=rss&utm_campaign=hub

Владимир
05.05.2016
09:36:12
смотрите ка, что неверные творят https://habrahabr.ru/company/centosadmin/blog/282938 посмели с мускуля на постгрес переходить!

Cykooz
05.05.2016
09:36:36
Ну и правильно делают :)

Владимир
05.05.2016
09:37:36
смерть неврным! хД

Сергей
05.05.2016
09:49:46
смерть нервным!

Google

Aldar
05.05.2016
09:52:53
ФП или смерть!

Aragaer
05.05.2016
09:53:14
надо б на работу сходить, пообедать

Sergey
05.05.2016
10:08:11

Pavel
05.05.2016
10:12:23

Sergey
05.05.2016
10:13:25
a import pkg проходит?
Да, но дочерние модули пакета не импортируются. Оять же - на локальном все нормально. Версии питона идентичны.
И еще один момент: сервер заказчика это галимый shared, в котором нет досутпа к root, apt-get, etc.

Cykooz
05.05.2016
10:15:14
Я вот что то не понял, добавление пакета в sys.path происходит внутри __main__.py, а импорт дочернего модуля в __init__.py. Так ведь __inti__.py обычно выполняется раньше чем __main__.py

Sergey
05.05.2016
10:16:15

Cykooz
05.05.2016
10:18:29
Навтыкате print-ов и посмотрите в каком реально порядке происходит импорт ваших файлов.
Вдруг что то не так как вы думаете

Sergey
05.05.2016
10:19:10
И еще интересный момент. Попробывал заменить абсолютный импорт на относительный. На локальном все работает как и работало, на сервере получил это:
from . import logger
ImportError: cannot import name 'logger'

Cykooz
05.05.2016
10:22:04
А почему вы добавляете в sys.path относительный путь?

Sergey
05.05.2016
10:23:22
А почему вы добавляете в sys.path относительный путь?
В sys.path добавляю абсолютный путь к директории, в которой лежит пакет, вот так:
import sys
from os.path import abspath, realpath, dirname
PATH = realpath(abspath(dirname(__file__)))
sys.path.insert(0, dirname(PATH))

Aliaksiej
05.05.2016
10:23:36
find . -name "*.pyc" | xargs rm +rf
-rf*

Cykooz
05.05.2016
10:24:06
А, попутал realpath и relpath :)

Pavel
05.05.2016
10:24:08

Aliaksiej
05.05.2016
10:24:16
Ну или так

Sergey
05.05.2016
10:25:37

Google

Sasha
05.05.2016
10:26:22
удаляем pyc жеж

Aliaksiej
05.05.2016
10:26:24
Удалим pyc файлы, они в первую очередь импортируются
Pyc это байткод питономашины

Cykooz
05.05.2016
10:26:41
а заодно ещё и папку __pycache__ (или как там её) удалить
Ну да, поидее python3 создаёт её для пакетов

Sergey
05.05.2016
10:27:34

Aliaksiej
05.05.2016
10:27:55
Желательно все

Sergey
05.05.2016
10:29:00

Aliaksiej
05.05.2016
10:29:46
Могли быть просто старые pyc, бывали пару раз проблемы, редко

Sergey
05.05.2016
10:31:33
Выполнил. Проблема осталась - не видит дочерние модули пакета

Whore Amazing
05.05.2016
10:32:54
так, а вот триггеры выполняются зависимо от кода, их вызвавшего?
т.е. если у меня там функция, отнимающая порядочно времени, код, вызвавший запрос с триггером, будет его ждать?

Cykooz
05.05.2016
10:33:23

Sergey
05.05.2016
10:36:17

Cykooz
05.05.2016
10:39:33
В системном питоне случайно нет пакета с именем pkg? А то системные пакеты имеют приоритет над тем что прописано в sys.path
Попробуйте просто зайти в шелл питона и сделать import pkg

Aleksandr
05.05.2016
10:40:37
Товарищ-модератор чата: забань меня, пожалуйста
Не могу покинуть этот чат вот уже неделю - постоянно всплывает обратно
Телеграм глючит

Sergey
05.05.2016
10:41:31

Google

Kolyann
05.05.2016
10:41:36
Желание клиента закон

Sergey
05.05.2016
10:43:48

Whore Amazing
05.05.2016
10:47:30

Pavel
05.05.2016
10:47:32

Whore Amazing
05.05.2016
10:47:53

Pavel
05.05.2016
10:48:07
почему?

Whore Amazing
05.05.2016
10:49:14
я еще не уверен, но кажется, там выйдет долго.

Sergey
05.05.2016
10:51:59
Я так понимаю питон при запуске модуля в пакете вот так python3 pkg/module.py импортирует директорию с модулем в sys.path?

Admin
ERROR: S client not available

Pavel
05.05.2016
10:52:27

Whore Amazing
05.05.2016
10:52:50
а on cascade с m2m не работает.

Pavel
05.05.2016
10:53:56
m2m это третья таблица, при удалении одного из объектов удалятся строки из промежуточной таблицы.
а, блин, ты же не удаляешь а null куда-то пишешь.

Whore Amazing
05.05.2016
10:54:28
да, но из третьей таблицы не удалится. ее в любом случае руками теребить.

Pavel
05.05.2016
10:54:45

Aliaksiej
05.05.2016
10:55:10

Whore Amazing
05.05.2016
10:55:10
почему?
потому что ключ в ней родительский, а cascade удаляет только внешние.

Aliaksiej
05.05.2016
10:56:17

Google

Sergey
05.05.2016
10:57:24

Aliaksiej
05.05.2016
10:58:08
А это тасашний логер или стдлибы
Тамашний

Sergey
05.05.2016
10:59:07

Aliaksiej
05.05.2016
10:59:26
А пакет вообще твой или чейто

Sergey
05.05.2016
10:59:30
Стд logging называется.

Aliaksiej
05.05.2016
10:59:42
Ах да
А у тебя там какого одноименного модуля не завалялось?

Sergey
05.05.2016
11:01:44
Теоритически нет. Файтически если сделать так: ~/local/bin/python3 -c 'import mypkg', то выдает ошибку импорта модуля logging
Можно ли как то понять где он берет его?

Pavel
05.05.2016
11:02:50
в самом logger никаих проблем нет? неопределённые переменные, импорт чего-то левого?

Aliaksiej
05.05.2016
11:03:00
У тебя в mypkg нет logging.py случайно?

Sergey
05.05.2016
11:03:45

Aliaksiej
05.05.2016
11:04:07
Ну или find . -name logging.py

Sergey
05.05.2016
11:04:21

Aliaksiej
05.05.2016
11:04:55
Циклические импорты может быть?

Sergey
05.05.2016
11:05:25