@ru_python

Страница 664 из 9768
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
очень глупый вопрос: а logger.py точно задеплоился на сервер? А то бывали забавные случаи...
Увы. Я потратил на попытки запустить это часов 6 уже\. Все файлы есть, в sys.path все добавляется аналогично тому, как это делается на локальной машине. Сам pkg существует, но при попытке импортировать дочерние модули выскакивает эта ошибка.

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

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
find . -name "*.pyc" | xargs rm +rf
find . -name "*.pyc" -delete ?

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

Sergey
05.05.2016
10:25:37
find . -name "*.pyc" | xargs rm +rf
Это что мы сделаем?

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
а заодно ещё и папку __pycache__ (или как там её) удалить
Перед каждым запуском заливал чистый, только собранный пакет. Так что __pycache__ на момент запуска там не было.

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
Выполнил. Проблема осталась - не видит дочерние модули пакета
Что же, даже не знаю чем ещё помоч - я давно уже не занимаюсь таким гемороем как прописываением чего то в sys.path. Я просто освоил zc.buildout и нормально оформляю все свои пакеты (т.е. прилагаю к ним setup.py)

Sergey
05.05.2016
10:36:17
Что же, даже не знаю чем ещё помоч - я давно уже не занимаюсь таким гемороем как прописываением чего то в sys.path. Я просто освоил zc.buildout и нормально оформляю все свои пакеты (т.е. прилагаю к ним setup.py)
Я тоже это делаю, но проблема в том что именно тут надо сделать вот так. Т.е. я хочу директорию в которой лежит пакет и логи этого пакета, что бы при смене конига пакета вручную заказчиком (его требование) он подтягивал брал этот конфиг. Сейчас попробую в zipapp упаковать.

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

Попробуйте просто зайти в шелл питона и сделать import pkg

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

Не могу покинуть этот чат вот уже неделю - постоянно всплывает обратно

Телеграм глючит

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

Sergey
05.05.2016
10:43:48
Попробуйте просто зайти в шелл питона и сделать import pkg
Хм, написал что не может найти logger, т.е. сам пакет есть.

Pavel
05.05.2016
10:47:32
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
я еще не уверен, но кажется, там выйдет долго.
персматривай архитектуру, чтобы не приходилось руками теребить m2m поля, а работало on cascade.

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
да, но из третьей таблицы не удалится. ее в любом случае руками теребить.

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

Google
Sergey
05.05.2016
10:57:24
А стоп. Так надо ж python3 -m pkg.module не? Тогда с путями все ок будет
Опять же ошибка импорта модуля пакета logger

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

Тамашний

Sergey
05.05.2016
10:59:07
А это тасашний логер или стдлибы
Это один из модулей пакета, содержит пару констант (форматирование вывод) и 1 функцию create_logger

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 случайно?

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

Sergey
05.05.2016
11:04:21
в самом logger никаих проблем нет? неопределённые переменные, импорт чего-то левого?
Дело в том что я пытался убрать из __init__.py импорт logger и заменил импортом другого модуля этого же пакета - ошибка таже.

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

Sergey
05.05.2016
11:05:25
Циклические импорты может быть?
Но почему на локальном все отрабатывает как надо?

Ну или find . -name logging.py
./local/lib/python3.5/site-packages/pip/utils/logging.py

Страница 664 из 9768