@ru_python

Страница 7955 из 9768
Nikolay
01.02.2019
08:01:18
Возвращаешь результат и ошибку)

Весь код полон if-ов

в следующей мажорной версии языка вроде исключения введут

Николай
01.02.2019
08:01:36
Вообщем прощай Windows. Закончил я с ASP перехожу на linux. Скажите как настроить sublime 3 python virtualenv что бы запускать проекты прямо оттуда, а то чето уже час ищу (а уже надо запустить и сделать).

Google
Николай
01.02.2019
08:02:25
не так не работает

Tishka17
01.02.2019
08:02:35
Nikolay
01.02.2019
08:02:42
для настройки саблайма можно просто загуглить "sublime 3 python ide"

Nikitcat
01.02.2019
08:02:53
Весь код полон if-ов
ну по сути что if что throw / catch у тебя будут примерно эквивалентны

Nikolay
01.02.2019
08:03:01
А virtualenv я не юзаю. pipenv ван лав)

А err каждый раз проверять на not null

LighteR
01.02.2019
08:07:36
а еще try..except может быть выше по стэку вызовов

LighteR
01.02.2019
08:16:55
Tishka17
01.02.2019
08:17:12
а в чем проблема в pytest использовать разные mock'и для разных кейсов?
это не проблема, это я просто рассказывал про моки

LighteR
01.02.2019
08:18:18
это не проблема, это я просто рассказывал про моки
а, ок. Я подумал, что это ты в контексте претензий к pytest'у за его глобальные моки )

Google
Terminator
01.02.2019
08:18:55
@SHead10 будет жить. Поприветствуем!

Tishka17
01.02.2019
08:24:11
а, ок. Я подумал, что это ты в контексте претензий к pytest'у за его глобальные моки )
к pytest одна претензия - слишком неявно фикстуры аттачатся к тестам.

LighteR
01.02.2019
08:24:55
Tishka17
01.02.2019
08:25:21
ну мне ближе классический подход с unittest

LighteR
01.02.2019
08:25:46
ну и у pytest слишком много плюшех по сравнению со стандартным unittest, чтобы отказываться от него из-за эстетического неприятия фикстур

Tishka17
01.02.2019
08:26:16
я скорее в сторону BDD буду смотреть

Aragaer
01.02.2019
08:26:48
одно другому не мешает. Я совмещаю bdd и unittest

Tishka17
01.02.2019
08:27:00
ну и у pytest слишком много плюшех по сравнению со стандартным unittest, чтобы отказываться от него из-за эстетического неприятия фикстур
ну а как поддерживать код, в котором фикстура юзает в 100 сюитах, а тебе надо в одной из них юзать её под-другому?

LighteR
01.02.2019
08:28:47
Мне вместо фикстур нравятся фабрики. Factory boy, например.
фикстура в pytest это немножко про другое

Tishka17
01.02.2019
08:30:37
сделай другую фикстуру, или сделай патч этой фикстуры прям в свое тесте
выглядит как патчить синглтоны вместо того чтобы перестать их юзать

LighteR
01.02.2019
08:30:45
Про какое?
фикстура это замена setup/teardown, например для патча чего-то

Maxim robox
01.02.2019
08:31:08
LighteR
01.02.2019
08:31:31
в фикстуре все что до yield это setup, все что после - это teardown

Tishka17
01.02.2019
08:31:31
только фикстура это не синглтон
да, это сингтон фабрики

Google
Евгений
01.02.2019
08:31:54
Мне как раз для обучения нужно понять как Пользоваться юпитер тетрадками

S
01.02.2019
08:32:35
Здравствуйте, нужен Ваш совет. В целом, по этому мануалу https://habr.com/ru/post/352266/ пытаюсь выполнить пункт *Настройка Gunicorn и Supervisor*, но у меня точка входа находится в отдельном файле main.py, как подсказал один из участников этой конфы, что команда будет иметь вид (venv) $ gunicorn -b localhost:8000 -w 4 app.main:app, я прописал это, но сталкиваюсь с проблемой, что файл не видет другого файла, который есть в папке, а имено файл config.py. Вот полный лог ошибки: https://pastebin.com/yxBV1mUg Подскажите, пожалуйста, куда копать, или что делаю не правильно?

Tishka17
01.02.2019
08:32:35
вот только фикстура лежит отдельно от тестов к которым прмиеняется и в коде нигде не прописана связь. В итоге ты не можешт с тестами как с обычным кодом работать, потому что они применяются “магически”

LighteR
01.02.2019
08:32:46
да, это сингтон фабрики
Ну тогда любая функция в проекте это тоже синглтон

Владимир
01.02.2019
08:33:10
systemd?)

Tishka17
01.02.2019
08:33:16
Ну тогда любая функция в проекте это тоже синглтон
ну функции юзать глобально вообще не стоит, их бы куда-то инкапсулировать и абстрагировать

Владимир
01.02.2019
08:34:00
ну функции юзать глобально вообще не стоит, их бы куда-то инкапсулировать и абстрагировать
Либо я не понял фразы, либо это перегиб. Чем функции не угодили?

S
01.02.2019
08:34:03
не т рогай supervisor
Хорошо, я понял что в комментариях люди советуют использовать systemd. Но это для учёбы, и я пытаюсь понять почему оно не работает.

LighteR
01.02.2019
08:35:07
Фабрики как раз про это.
Можешь привести пример как ты используешь фабрики для патчей?

Tishka17
01.02.2019
08:35:21
Либо я не понял фразы, либо это перегиб. Чем функции не угодили?
тем, что у тебя сильная связь кода получается. ВМесто того, чтобы юзать абстракцию, вместо которой могут быть разные реализации, ты привязываешь к конкретной функции. Это норм в пределах модуля. Но в мастштабах приложения - проблема.

Maxim robox
01.02.2019
08:35:43
Tishka17
01.02.2019
08:36:12
а app в app - это что?

судя по всему тебе норм взять gunicorn app:app. Ну или app.app:app

LighteR
01.02.2019
08:37:10
вот только фикстура лежит отдельно от тестов к которым прмиеняется и в коде нигде не прописана связь. В итоге ты не можешт с тестами как с обычным кодом работать, потому что они применяются “магически”
Фикстура не обязательно должна лежать отдельно, она может в том же модуле с тестами быть. И зачем тебе работать с тестами как с обычным кодом?

Tishka17
01.02.2019
08:38:00
Фикстура не обязательно должна лежать отдельно, она может в том же модуле с тестами быть. И зачем тебе работать с тестами как с обычным кодом?
потому что тесты - ёто тоже код, который надо поддерживать. И который должен быть нормально структурирован, чтобы не было дублирований, лишних связей и т.п

Maxim robox
01.02.2019
08:38:18
Кстати. А подскажите, есть ли какая-нибудь навороченная консоль для питона? Иногда надо что-то по-быстренькому накидать/проверить. И делать это в обычном python REPL немного больно. Автокомплита нет, с многострочностью неудобно, подсветки нет. Есть вообще что-нибудь подобное?

Google
Tishka17
01.02.2019
08:38:41
Если в рамках питона, то слабосвязный код и с функциями достижим и грязно не будет. У нас функции first class objects.
недостижим. Если ты юзаешь функцию в каком-то объекте, ты не сможешь два экземпляра объекта заставить юзать разные функции

S
01.02.2019
08:38:51
Владимир
01.02.2019
08:38:56
Фикстура не обязательно должна лежать отдельно, она может в том же модуле с тестами быть. И зачем тебе работать с тестами как с обычным кодом?
А как их потом поддерживать, если там будет каша? Оттуда и отношение к тесту как обычному коду. К тому же написание теста ест не меньше времени, чем написание основного кода, который эти тесты должны проверить.

Maxim robox
01.02.2019
08:38:58
юпитер?
Это не консоль же.

Tishka17
01.02.2019
08:39:10
вот и юзай его, не нужен тебе main для gunicorn.

Это не консоль же.
да не, там же ipython встроен

S
01.02.2019
08:39:28
Maxim robox
01.02.2019
08:39:42
да не, там же ipython встроен
Мне в терминал надо. А оно в браузере запускается.

Tishka17
01.02.2019
08:39:52
хз вообще =)

я думал в консоли =(

S
01.02.2019
08:40:16
вот и юзай его, не нужен тебе main для gunicorn.
А точку входа `if name == 'main': app.run()` нужно вписать в app.py, или нет в таком случае?

Maxim robox
01.02.2019
08:40:24
ipython?
Оно в браузере же?

Владимир
01.02.2019
08:40:38
Оно в браузере же?
нет, в терминале))

Terminator
01.02.2019
08:40:42
Андрей Волчков будет жить. Поприветствуем!

Tishka17
01.02.2019
08:41:19
А точку входа `if name == 'main': app.run()` нужно вписать в app.py, или нет в таком случае?
когда ты запускаешь через gunicorn у тебя оно не как main работает. Просто импортируется модуль и запускается нужный класс. По сути gunicorn делает то же самое, что ты написал в main, сам

Владимир
01.02.2019
08:41:25
Google
Владимир
01.02.2019
08:42:20
Оно в браузере же?
Или тебе в браузере? В браузере юпитер блокнотики. Либо облачный сервис какой-нибудь

Maxim robox
01.02.2019
08:42:41
Вроде работает. Но что-то тормозит ввод порой. Но это может старые баги какие-нибудь. Давно устанавливал. Но автокомплита, я так понимаю, нет?

Vasia
01.02.2019
08:43:01
еще есть ptpython

Nikitcat
01.02.2019
08:43:16
У кого такое было? Линукс минт, скачал с сайта пайчарм, устанавливаю ./pycharm.sh но его не видно в программулях. Можно, в принципе через менеджер приложений, но не лучший способ.

Maxim robox
01.02.2019
08:43:32
автокомлпит как в идешках?
Да хоть какой-нибудь.

Владимир
01.02.2019
08:43:36
S
01.02.2019
08:43:48
нет.
К сожалению, вот что я получаю https://pastebin.com/a78hrByW

Maxim robox
01.02.2019
08:43:50
Хм. У меня такого нет. Обновлюсь-ка.

S
01.02.2019
08:45:54
структуру каталога покажи и откуда ты команду запускаешь
Сразу при конекте к серверу, корень. А уже в нём папки venv и app

S
01.02.2019
08:46:26
нрмально покажи
нормально это прописать команду ls, и сюда скрин?

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