The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

02.10.2017 12:05  Выпуск Cython 0.27, компилятора для языка Python

Состоялся релиз Cython 0.27 (следом сразу вышло корректирующее обновление 0.27.1), компилятора для языков Python и Cython. Язык Cython является расширенным вариантом языка Python, нацеленным на упрощение интеграции с кодом на языке Си и позволяющим создавать расширения на языке Си для проектов на языке Python так же просто, как писать код на Python. Cython расширяет возможности Python средствами для прямого вызова функций на языке Си, поддерживает определение переменных с типами языка Си и позволяет компилировать итоговый код на языке Cython в представление на языке Си, которое затем собирается штатным системным компилятором.

В новом выпуске реализовано большинство новых возможностей ветки Python 3.6, в том числе появилась поддержка аннотаций для передачи информации о типах переменных (PEP 484/526), возможность определения асинхронных генераторов (PEP 520) и асинхронной обработки списковых включений (PEP 525, async comprehension), автоматическая генерация "__richcmp__()" из "__eq__()", поддержка ссылок на объекты Python в классах C++, режим компиляции PGO в среде Jupyter Notebook. Код инициализации модулей приведён в соответствие с поведением CPython 3.5+.

  1. Главная ссылка к новости (https://www.mail-archive.com/p...)
  2. OpenNews: Выпуск Cython 0.25, компилятора для языка Python
  3. OpenNews: Обеспечена возможность запуска MicroPython в web-браузере
  4. OpenNews: Релиз PyPy 5.8, реализации Python, написанной на языке Python
  5. OpenNews: Выпуск Nuitka 0.5.27, компилятора для языка Python
  6. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
Лицензия: CC-BY
Тип: Программы
Ключевые слова: cython, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 12:19, 02/10/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    > и позволяет компилировать итоговый код на языке Cython в представление на языке Си, которое затем собирается штатным системным компилятором.

    Так Vala не один такой, который транслирует в Си.

     
     
  • 2.2, AS (??), 13:40, 02/10/2017 [^] [ответить]    [к модератору]
  • –6 +/
    да все интерпретаторы посути этим в реалтайме и занимаются
     
  • 1.3, AS (??), 13:50, 02/10/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –5 +/
    только очень странно - ни толковых примеров ненашел у них на ресурсе как бинарь из .py получить.
    пользуюсь http://nuitka.net/ - прирост просто невзгребенный особенно на б****коде
     
     
  • 2.5, Andrey Mitrofanov (?), 14:07, 02/10/2017 [^] [ответить]    [к модератору]
  • +/
    > только очень странно - ни толковых примеров ненашел у них на ресурсе

    В школе ещё поиск в интернетах не проходили?

    https://duckduckgo.com/?q=man+cython
       1-->
          1.1--> Documentation => Basic Tutorial => http://docs.cython.org/en/latest/src/tutorial/cython_tutorial.html
          1.2--> ... Overview  :
    [I][Cython] is a programming language that makes writing [B
    ]C extensions for the Python[/B] language as easy as Python itself.[/I]

    икстеншенс, карл...

    > как бинарь из .py получить.

    https://duckduckgo.com/?q=cython+standalone+binary
       2-->https://github.com/cython/cython/wiki/EmbeddingCython

     
     
  • 3.6, AS (??), 14:28, 02/10/2017 [^] [ответить]     [к модератору]
  • –4 +/
    школу я не закончил, выгнали за плохое поведение и прогул уроков истории спустя... весь текст скрыт [показать]
     
     
  • 4.7, omnomnin (?), 15:56, 02/10/2017 [^] [ответить]    [к модератору]  
  • +/
    бть, нуитка и cython совсем разные вещи, созданные с разными целями

    >буду и дальше на Нуитке сидеть - там всё понятно

    буду и дальше на корточках у подъезда с семками и ягой сидеть - там всё понятно
    //fixed

     
  • 2.8, freehck (ok), 17:38, 02/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Nuitka - это вроде бы просто компилятор питона, а Cython - это походу другой язык по синтаксису обратно совместимый с Python, но поддерживающий ещё кучу всяких ништяков вроде C data types и т.п.

    Не, я конечно не уверен, но очень похоже на то, что Вы читать не умеете.

     
     
  • 3.9, Аноним_ (?), 17:50, 02/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > Не, я конечно не уверен, но очень похоже на то, что Вы читать не умеете.

    он-то прочитал что тут написано - "выпуск компилятора для языка python".

    И справедливо заметил, что компилятор этот какой-то загадочный, как им пользоваться - хрен поймешь, а вместо нормальной документации на его сайте предлагают орейлевскую книжку купить, чтобы ознакомиться с их шедевром.

    А что он поддерживает еще какие-то навороты помимо питона - так ни ему, ни мне неинтересно.

     
     
  • 4.10, freehck (ok), 18:25, 02/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >> Не, я конечно не уверен, но очень похоже на то, что Вы читать не умеете.
    > он-то прочитал что тут написано - "выпуск компилятора для языка python".

    А новость прочитать? "Cython является расширенным вариантом языка Python"... То же мне. Чукча, и гордится этим.

    > И справедливо заметил, что компилятор этот какой-то загадочный, как им пользоваться -
    > хрен поймешь, а вместо нормальной документации на его сайте предлагают орейлевскую
    > книжку купить, чтобы ознакомиться с их шедевром.

    Что до документации, так я час назад туда заходил поглядеть, что и как. Доков завались, и по ним всё ясно даже мне, не питонисту ни разу. А вы тут заливаете, что хрен поймёшь, как пользоваться. Нужно просто скормить cython-у pyc-файл исходной питоновской программы, и он всё скомпилирует как надо.

    > А что он поддерживает еще какие-то навороты помимо питона - так ни ему, ни мне неинтересно.

    А что вам, чукчам, вообще может быть интересно?

     
  • 4.11, Аноним84701 (ok), 18:33, 02/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > вместо нормальной документации на его сайте предлагают орейлевскую  книжку купить, чтобы ознакомиться с их шедевром.

    Странно. У меня показывает:
    [CODE]
    Documentation
    --------------------
    Cython Documentation
    The Cython Wiki.
    The Cython FAQ (and the older Pyrex FAQ)

    External resources:
    Cython - A Guide for Python Programmers, book by Kurt W. Smith, O'Reilly 2015
    Cython: The best of both worlds, article by Stefan Behnel, Robert Bradshaw et al., IEEE 2011
    SciPy 2009 proceedings (pdf): Cython Tutorial; Fast Numerical Computations with Cython
    [/CODE]

    http://docs.cython.org/en/latest/
    Навскидку -- довольно неплохая и подробная документация.  Есть "getting started", "user guide", "reference guide", куча примеров ... на опеннет опять пакеты из другой реальности приходят?

     
  • 4.12, Аноним84701 (ok), 18:37, 02/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > справедливо заметил, что компилятор этот какой-то загадочный, как им пользоваться - хрен поймешь,

    Что там загадочного -- *рен поймешь.  Все отлично описано, нужная информация находится  быстро.
    Получить бинарь? Cмотрим:
    http://docs.cython.org/en/latest/src/reference/compilation.html#compilation-r
    > gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing \
    >      -I/usr/include/python2.7 -o yourmod.so yourmod.c

    [CODE]
    % cat hello.py
    print "Hello, World!"
    % cython hello.py --embed
    % gcc -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 hello.c -L/usr/lib -lpython2.7
    % ./a.out
    Hello, World!
    [/CODE]
    На все (вместе с установкой cython) - от силы 10 минут.

     
     
  • 5.13, Аноним (-), 20:13, 02/10/2017 [^] [ответить]     [к модератору]  
  • –3 +/
    ну, я не знаю, сколько он ставится, конечно, но с той же нюткой на все остальное... весь текст скрыт [показать]
     
  • 5.14, AS (??), 20:27, 02/10/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Спасибо большое !!!!! просто так получается, что я пишу бизнес-логику верхнего уровня и работы там столько , что мне приходится рассматривать компилятор как инструмент(утилиту) с простым интерфейсом с 1й кнопкой "скомпилировать". вот если бы так доступно у них был был этот пример на сайте
     
     
  • 6.15, freehck (ok), 21:53, 02/10/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    > я пишу бизнес-логику верхнего уровня и работы там столько, что

    что можно только удивиться, почему Вы пишете её на питоне
    язык может и неплохой, но библиотеки и сообщество... ох, ну в общем, наркоманы для наркоманов писали

     
     
  • 7.16, AS (??), 22:17, 02/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    полностью соглашусь но не я тому виной когда пришёл так уже было.
    но мы справимся !
     
  • 7.17, Vkni (ok), 04:57, 03/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > что можно только удивиться, почему Вы пишете её на питоне
    > язык может и неплохой, но библиотеки и сообщество... ох, ну в общем,
    > наркоманы для наркоманов писали

    Ну не знаю насчёт языка - неужели нельзя было сделать переключение в одномерный синтаксис, как в Хаскеле? А lambda, которая разительно отличается от функции без имени, чего стоит.

     
     
  • 8.18, freehck (ok), 09:43, 03/10/2017 [^] [ответить]    [к модератору]  
  • +/
    >> что можно только удивиться, почему Вы пишете её на питоне
    >> язык может и неплохой, но библиотеки и сообщество... ох, ну в общем,
    >> наркоманы для наркоманов писали
    > Ну не знаю насчёт языка - неужели нельзя было сделать переключение в
    > одномерный синтаксис, как в Хаскеле? А lambda, которая разительно отличается от
    > функции без имени, чего стоит.

    Ага. А ещё имхо язык чрезвычайно перегружен синтаксическим сахаром. Тем не менее, синтаксис - это штука, к которой ещё можно привыкнуть. Но если стандартные библиотеки дрянь -- вот тут тебе станет действительно дурно. А если при этом нет адекватной поддержки со стороны сообщества, то на языке можно ставить крест.

    Но за синтаксис я критикивать язык не намерен. В конце концов мне очень даже по нраву Perl, где тоже много синтаксического сахару, но в основном к месту или просто для красоты. Потому же я не критикую Scala: синтаксис вроде бы уродский, но вдруг там хорошие библиотеки? Я с ними ещё не ознакомился, а это для конструктивной критики необходимо.

     
     
  • 9.20, AS (??), 12:25, 03/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    модули то может и глючные где но я не заметил. а вот то, что версия модуля может вести себя уже чуть не так при установке в др. дистре - ещё 1 из причин почему компилирую ВСЕ используемые модули + std Питон и передаю заказчику в собранном виде
     
     
  • 10.21, freehck (ok), 14:59, 03/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > модули то может и глючные где но я не заметил

    Ну вот я сейчас занимаюсь переписыванием сборочных сценариев, и вижу, что во всех местах, где установка организована через python, следом идёт вызов скрипта touch-installed.sh. Оказалось, это связано с тем, что в дефолтном питоновском shutil тупо нет нормальной функции для копирования дерева каталогов: те, что есть, копируют также stat-ы (проще говоря время у исходных файлов дублируют на новые).

    Вот ловите ссылку на эту историю (я там правда в начале малость понапутал, ибо болел, но в целом картина правильная):
    https://www.opennet.ru/openforum/vsluhforumID3/112203.html?n=freehck#38

    С тех пор я нашёл ещё много интересных фишечек. Например, в генерируемый python-скриптом конфиг стал попадать какой-то невразумительный мусор из-за того, что в этом скрипте использовался модуль yum (только не спрашивайте меня пожалуйста, какому чудику пришло в голову написать скрипт для генерации конфига с использованием yum, а не то я материться буду). Оказалось, что этот мусор был информацией, которую yum отправляет на stdout. Причём такое чувство, что не всей. Пришлось писать обход, чтобы заглушить вывод вообще на данном участке кода.

    Но если коротко, то с питоном всегда одна беда: он сляпан таким образом, что очень часто удивляет своим неправильным поведением в местах, где ты и подумать не мог, что там может быть что-то не так.

     
     
  • 11.22, AS (??), 15:32, 03/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Шаманить с YUM из Питона конечно очень сомнительный костыль, поэтому и повторюсь -
    чтоб получить стабильно работающий софт мне и приходится ВСЁ ложить в 1 папку и компилить.
    а автоустановка зависимостей на клиенте -невыполнимая в Питон задача
     
     
  • 12.23, freehck (ok), 17:11, 03/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Ну, этим-то Вы никого не удивите. Omnia mea mecum porto. И так делает любой вендор, который пишет под unix-системы. Была когда-то попытка как-то упростить это дело и систематизировать в виде LSB, но провалилась: таскать всё с собой -- это более гибкий для вендора механизм, нежели подстраиваться под LSB.
     
  • 9.25, Vkni (ok), 04:32, 05/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ага. А ещё имхо язык чрезвычайно перегружен синтаксическим сахаром. Тем не менее,
    > синтаксис - это штука, к которой ещё можно привыкнуть.

    Ну синтаксис там, вообще-то практически Хаскельный. Т.е. это синтаксис 2-го поколения относительно Алголо-подобных языков, растущий из статьи Ландина про 700 новых языков.

    Но создатели Питона - это "чукчи-писатели", поэтому более-менее естественно то, что всю дискуссию они пропустили. И варианта перевода в одномерный синтаксис, как у "оторванных от жЫзнЕ академиков", у них нет.

    > но вдруг там хорошие библиотеки? Я с ними ещё не ознакомился,
    > а это для конструктивной критики необходимо.

    Ну numpy - это патентованное гoвнo. См, к примеру, совершенно несвязанные модули матриц и линейной алгебры или серии дублированных функций "без учёта NaN/с учётом NaN" в модуле статистики.

     
     
  • 10.26, freehck (ok), 15:20, 05/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Я не знаю, что такое синтаксис 2-го поколения относительно Алголо-подобных язык... весь текст скрыт [показать]
     
     
  • 11.27, Andrey Mitrofanov (?), 15:31, 05/10/2017 [^] [ответить]    [к модератору]  
  • +/
    >>> Ага. А ещё имхо язык чрезвычайно перегружен синтаксическим сахаром. Тем не менее,
    >>> синтаксис - это штука, к которой ещё можно привыкнуть.
    >> Ну синтаксис там, вообще-то практически Хаскельный. Т.е. это синтаксис 2-го поколения относительно
    >> Алголо-подобных языков, растущий из статьи Ландина про 700 новых языков.
    > Я не знаю, что такое "синтаксис 2-го поколения относительно Алголо-подобных языков". Для
    > меня это звуичт дико. Я просто знаю много языков, и сужу
    > о том, сколько крутых штук я смогу легко сделать, благодаря этим
    > языкам.

    В историческом %) разрезе, после маш.кодов был ассемблер, потом фортран, а потом "началось": алголы, лиспы и пр. новейшая :))) история. То есть, студентам наверное так вот прямо говорят!, алгол -> "второе покление" ЯВУ.

    При чём хаскель к алголу (и питону), я пожалуй не скажу. Нужны более серьёзные академ.знания, чем мои.  Археологи, педагоги в доме есть??

     
     
  • 12.28, Vkni (ok), 05:03, 06/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > При чём хаскель к алголу (и питону), я пожалуй не скажу. Нужны
    > более серьёзные академ.знания, чем мои.  Археологи, педагоги в доме есть??

    https://blog.ngzhian.com/the-next-700-programming-languages-p-j-landin.html

     
  • 1.19, Виндовод (?), 11:03, 03/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Я думал ситон это реализация языка питона.
     
     
  • 2.24, Аноним (-), 22:36, 03/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Нет, эталонная реализация называется CPython.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor