
Dmitry
19.12.2016
08:50:08
посмотри здесь
https://github.com/sfermigier/awesome-functional-python
может что-то похожее найдёшь
там есть всё это

Aleksander
19.12.2016
08:50:27

Google

Aleksander
19.12.2016
08:50:46
но Hy вроде как попроще

Serge
19.12.2016
12:55:40
А на чем писать - это уже десятый вопрос.

Aleksey
19.12.2016
18:18:08
Ребят, очередной вопрос про cffi. Значит, определился я: API mode (ибо в заголовочных файлах всякие include) out-of-line. Сишная библиотека под винду. При попытке сборки (ffibuilder.compile) получаю сакральную ошибку "unable to find vcvarsall.bat"
#cffi
Microsoft Visual C++ Compiler for Python 2.7 поставил. (А! Да! питон 2.7)

Zart
19.12.2016
18:41:40
а cffi его умеет вообще?
ага, нашел багрепорты
1) поставить студию 2008 ради полновесного компилятора, который умеют находить дистутилсы
2) заюзать вцварсолл вручную и заставить дистутилсы юзать что дают
3) подсунуть сетаптулзы вместо дистутилсов, но автор цффи пишут что мол куча сайдэффектов. хз как оно на цффи отобразится

groke
19.12.2016
18:48:49
вроде как можно студию и новее, но надо будет переменную окружения установить

Zart
19.12.2016
18:49:00
не надо новее

groke
19.12.2016
18:49:25
ну если уже стоит 13я например, то можно не ставить 2008

Google

groke
19.12.2016
18:49:28
я про это)

Zart
19.12.2016
18:49:31
не надо, блядь
смешение рантаймов крайне хуевое занятие в целом. для отдельных экстеншенов еще можно обойтись. но в этом случае почти наверняка будет хреново

Aleksey
19.12.2016
18:50:47
Да. Новая студия сулит проблем, походу..

Zart
19.12.2016
18:51:35
я не помню успел ли МвЛ перевести файловые апи на вин32 версии, или всё еще юзает FILE *, во втором случае любая помесь рантаймов будет ломать сборку весьма хитрожопо

Aleksey
19.12.2016
18:51:41
вот вопрос, а заказчику надо будет так же мучиться, или я соберу в wheel и всё у заказчика будет хорошо?..

Zart
19.12.2016
18:52:37
суть в том, что питон.орговый 2.7 собран студией 2008 и слинкован с её рантаймом
если ты поставил вц27 фор питон, то это тот же самый компилятор и тот же рантайм
просто дистутилсы его искать не умеют. сетаптулзы/пип были пропатчены в какой-то из версий чтобы находить, поэтому билд через сетаптулзы в общем случае работает
цффи судя по доке юзает голые дистутилсы зачем-то

Aleksey
19.12.2016
18:56:51
@zartsoft Спасибо!

Zart
19.12.2016
18:57:15
в общем
"%LOCALAPPDATA%\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat"
set MSSDK=1
set DISTUTILS_USE_SDK=1
python setup.py bdist

Aleksey
19.12.2016
18:57:17
попробую, нашел
import setuptools might help, but YMMV

Zart
19.12.2016
18:57:38
лучше вот так как выше попробуй

Aleksey
19.12.2016
18:57:56
ок. спасибо

Zart
19.12.2016
18:58:17
вц27фор питон ставит в локальный профиль, а не в програм файлс, по дизайну. поэтому и не регает в реестре, поэтому непатченный дистутилс его найти и не может
обычно обёртка вокруг вц компилятора читает пути из реестра и вызывает компилятор/линкер по абсолютному пути
но если в переменных окружения есть DISTUTILS_USE_SDK=1, то тогда оно переключается на обычные cl.exe, link.exe, и полагается на то, что в на пути
а MSSDK=1 нужен вроде инклудам самой студии
если собираешь под 64бит питон - то надо ...vcvarsall.bat amd64
чтобы настроило нативный 64бит компилятор

Aleksey
19.12.2016
19:10:16
Спасибо, сейчас буду ковырять

Денис
19.12.2016
19:43:04
оюсуждаем дату 4-го Piter Py
https://vk.com/piterpy?w=wall-80460037_392

Google

Aleksey
19.12.2016
19:43:13
если в питоновском скрипте, где ffibuilder.compile поставить import setuptools, то батник уже находится, но падает уже с ошибкой запуска cl.exe, буду дальше разбираться..

Aleksander
20.12.2016
06:54:00
кстати, а когда митап следующий ?
вроде в январе думали но какого числа ?

Danil
20.12.2016
06:56:17
@delimitry в первый четверг?

Dmitry
20.12.2016
06:56:40
пока ещё точно не понятно когда
на митапе стоит 5, но это предположительно

Chikiro
20.12.2016
13:34:37
Почему все-таки list не для гомогенных данных? По дизайну же для гомогенных, хотя типы у них будут разные, но смысл не меняется. Вроде, заменяют list на tuple для микрооптимизации. Или я что-то не так понимаю?

Zart
20.12.2016
13:35:02
какому дизайну?
единственная разница между ними - иммутабельность

Chikiro
20.12.2016
13:39:38
Ну, у tuple есть named tuple, у list - нет. Потому что в списке все элементы равноценны, а в tuple нет.

Zart
20.12.2016
13:40:45
не обязательно

Chikiro
20.12.2016
13:40:46
Почему если разница только в иммутабелтности, на замутили какой-нибудь immutable list вместо tuple?

Chikiro
20.12.2016
13:41:06
Ничего не понимаю ._.

Zart
20.12.2016
13:41:12
ты хочешь переименовать tuple во frozenlist?
чтобы был один ряд с frozendict, frozenset?

Chikiro
20.12.2016
13:41:58
да, чтобы по названию было понятно с чем имею дело )

Zart
20.12.2016
13:42:48
unnamedlist = tuple
устроит? 8)
если чтото не нравится - всегда можно написать свой пеп или выкатить в python-ideas

Serge
20.12.2016
13:43:34
:)

Chikiro
20.12.2016
13:43:39
Ине просто казалось, что отличий больше должно быть, раз называются по-разному.

Google

Zart
20.12.2016
13:43:47
https://www.python.org/dev/peps/pep-0416/ фрозендикт вот зарубили нафиг изза ненужности

Alex Milushev
21.12.2016
12:02:05
хай, есть ли у кого пример как на aiohttp запустить веб сервер и вебсокет клиент одновременно?

Serge
21.12.2016
12:20:48
что такое вебсокет клиент? отдельный клиент для каждого входящего http запроса или один клиент, чтобы все как-то могли через него что-то делать?
или вопрос как в одном процессе запустить http-сервер и websocket-сервер?

Aleksander
21.12.2016
12:26:12
на сколько знаю никак
тоже хотел потрогать - руки пока не дошли
http://ru.stackoverflow.com/questions/507746/%D0%92-%D1%87%D0%B5%D0%BC-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-socket%D0%BE%D0%BC-%D0%B8-websocket%D0%BE%D0%BC

Serge
21.12.2016
12:29:24

Admin
ERROR: S client not available

Dmitry
21.12.2016
12:29:37
Саша понял)

Serge
21.12.2016
12:33:28
чтобы кто ссылку дал:)

Zart
21.12.2016
12:34:10

Serge
21.12.2016
12:34:25
и даже скорее нет, чем да
но мысль видимо туда, да;)

Zart
21.12.2016
12:40:03
в смысле прокси какойто

Serge
21.12.2016
12:43:41
ну вот оно сильно разное может быть.
как минимум по тому как http мапится в вебсокет-соединения
я вижу четыре разных варианта:)

Zart
21.12.2016
12:57:06
а. "вебсокет клиент". тогда хз что это... бо я сначала прочитал как "сокет клиент"

Google

Dmitry
21.12.2016
12:58:02
не ну, а чё может это будет прокси таки
@zunkree пролей свет

Alex Milushev
21.12.2016
12:59:20
ну мне надо стартануть web сервер и подключиться к websocket — реагировать на events
и это все одновременно
:(

Dmitry
21.12.2016
13:03:01
то есть ws server чей-то сторонний. а ты к нему цепляешься ws client-ом и прокидываешь ивенты в web server?

Roman
21.12.2016
13:03:01

Alex Milushev
21.12.2016
13:04:17
ну с обычным подходом Я бы стартанул отдельный тред и сунул туда клиент
а тут может есть где описание как правильно

Zart
21.12.2016
13:04:43
брать https://pypi.python.org/pypi/websockets и запускать оба 8)

Serge
21.12.2016
13:09:28
я тебе больше скажу, так работает большинство драйверов БД под asyncio:)
только у них там еще pool

Alex Milushev
21.12.2016
13:10:52
ну асинхронность, вот это вот все
лучшие практики

Serge
21.12.2016
13:11:34
твоя асинхронность заканчивает там, где начинается нечто внешнее, потому что если там и асинхронность, то она не твоя уже

Roman
21.12.2016
13:11:42

Serge
21.12.2016
13:12:10
т.е. никто не мешает кидаться в asyncio его future-ами из твоего треда же

Sasha
21.12.2016
13:30:37
А в этом месяце будет встреча в баре?

Dmitry
21.12.2016
13:31:33
нет, в этом году больше не будет встреч