company_banner

Вышли сразу два новых PyCharm версии 3.0

    PyCharm3 Opens To The CommunityРады сообщить всем хабровчанам, что PyCharm 3.0 — наша IDE для разработки на языке Python — выпущена в двух редакциях: бесплатной Community Edition с открытым исходным кодом и полнофункциональной Professional Edition.

    В двух словах: бесплатная редакция PyCharm основана на открытом коде, зато платная содержит полную функциональность.

    Релиз, конечно, этим не ограничивается: в него вошло много новых полезных фич, которые работают в обоих редакциях. Но обо всем по порядку.

    Что главное?

    Раскроем тему новой бесплатной и опенсорсной редакции под названием PyCharm Community Edition, и в первую очередь причины ее появления. В последнее время в сообществе Python наметилась устойчивая тенденция развития языка в сторону повсеместного внедрения его в обучающие программы, то есть обучение программированию на языке Python, о чем свидетельствует появление таких проектов, как Raspberry Pi. Научное сообщество все чаще выбирает Python языком для реализации своих исследований, что ясно из растущего количества и размера конференций, например SciPy. Также Python давно и активно используется во множестве open-source проектов.

    JetBrains уже давно поддерживает проекты с открытым исходным кодом, как внешние, так и внутренние, например язык Kotlin. Поэтому мы не могли игнорировать эти знаки, подаваемые самим сообществом Python разработчиков.

    Мы хотим, чтобы все, кто только начинает изучать Python или уже использует его в научных или опенсорсных проектах, могли не только писать на потрясающем языке, но и пользоваться мощным инструментарием в виде PyCharm Community Edition.

    Вот почему мы решили создать эту редакцию. Надеемся, она появилась вовремя и очень кстати.

    PyCharm 3 Community Edition.pngЧто есть в Community Edition?

    PyCharm Community Edition создана для разработчиков, которые пользуются чистым Python. Эта редакция поддерживает все самое главное: «интеллектуальный» редактор кода с поддержкой все того же умного автодополнения, всех рефакторингов, инспекций кода, интеграции с большинством систем контроля версий, графический отладчик и многое другое. Как видите, все самое базовое и главное есть в Community Edition. Тем не менее в этой редакции отсутствует поддержка веб-фреймворков, возможность запускать и отлаживать код на удаленной или виртуальной машине, поддержка баз данных и SQL, диаграммы и многие другие продвинутые средства проффесиональной разработки.

    А как насчет Professional?

    Professional — это редакция с полной функциональностью, надмножество Community Edition, включающее все средства для максимально продуктивной профессиональной разработки на Python и веб-разработки, в том числе с использованием разнообразных библиотек и фреймворков. Эта редакция поддерживает Django, Flask, Google App Engine. В версии 3.0 к этому набору присоединилась поддержка фреймворков SQLAlchemy, web2py и Pyramid.

    А можно подробнее о различиях между Community и Professional?

    Для удобства мы создали специальную страницу с матрицей основных различий этих двух редакций. Посмотреть ее можно здесь. Подчеркнем главное: в PyCharm Professional Edition есть поддержка всех веб-фреймворков, возможностей удаленного запуска и отладки приложений, в том числе на виртуальных машинах, поддержка баз данных и языка SQL, диаграммы классов, а также поддержка JavaScript.

    Неужели всё?

    Конечно, не всё. Релиз PyCharm 3.0 демонстрирует внушительный список новых фич, появившихся в IDE. Среди них:

    • Полнофункциональный встроенный в IDE терминал, работающий для всех платформ. Больше нет необходимости покидать IDE во время разработки.
    • Поддержка тулкита SQLAlchemy. С выходом новой версии PyCharm знает гораздо больше об этой библиотеке, чем раньше, таким образом предоставляя более глубокий анализ кода для этой библиотеки и, как следствие, умное автодополнение при работе с ней.
    • Поддержка фреймворков web2py и Pyramid. PyCharm предоставляет специфичные для этих фреймворков автодополнение и навигацию, умеет создавать и распознавать уже существующие проекты, и поддерживает темплейтные языки этих фреймворков на уровне подсветки синтаксиса и автодополнения.
    • Новые рефакторинги, в т. ч. инвертирование булевых переменных, замена дубликатов при вынесении кода в метод, конвертирование статического метода в функцию и метода в свойство.
    • Конфигурируемые языковые вставки. Эта функциональность позволяет редактировать код, написанный не на Python, внутри строковых литералов. Например, SQL-код внутри строки на Python.
    • Новые инспекции для Python, позволяющие более детально и глубоко исследовать код, находя подозрительные и потенциально опасные места.
    • Улучшенная поддержка фреймворка Django.
    • Возможность отслеживания переменных в интерактивной Python-консоли и средство поиска дубликатов в коде.
    • Поддержка библиотек PyQt и PyGTK. А именно, PyCharm теперь больше знает о типах, используемых в этих библиотеках, тем самым предоставляя анализ кода с использованием этих библиотек и автодополнение.


    Где скачать?

    Качайте и используйте бесплатный Community Edition или пробуйте Professional Edition в течение 30 дней. Читайте официальный обзор нововведений в версии 3.0.

    Между прочим, обновление до версии 3.0 Professional Edition бесплатно для всех, кто приобрел лицензию после 24 сентября 2012 года.

    Будем рады услышать ваши отзывы, впечатления и комментарии насчет выпуска Community Edition и по поводу IDE в целом!

    Программируйте с удовольствием!
    Ваша команда JetBrains PyCharm
    JetBrains
    204.35
    Делаем эффективные инструменты для разработчиков
    Share post

    Similar posts

    Comments 90

      +11
      Спасибо, отличная новость!
      Сразу хочу спросить, когда планируете сделать следующую распродажу со скидками? :)
        +24
        Мы никогда не анонсируем распродажи заранее.
        +6
        Спасибо за появление PyCharm CE. Хорошая IDE будет теперь доступна и для Python.

        Список фич вполне приятный. Есть ли возможность запускать во встроенном терминале ipython или аналогичный интерактивный REPL?

        Хочется попросить следующего: YAML и REST Client добавить в PyCharm Community Edition. Аналогично с IntelliJ IDEA CE: добавить maven dependency diagram.

        Отсутствие этих фич в CE вызывает недоумение. YAML сейчас используется повсеместно для хранения конфигурации. REST Client, кажется, был доступен plugin'ом (хотя, может, только в UE). Maven давно не является атрибутом профессиональной разработки.

        И напоследок традиционный вопрос: насколько велики различия между PyCharm и Idea Ultimate + Python plugin? В случае ruby я предпочел купить и Idea, и RubyMine, т. к. интеграция Idea Ultimate + Ruby plugin была не на высоте.
          +1
          Для ipython есть отдельный экшн run python console.

          YAML, возможно, будет добавлен; про rest client планов пока нету. С диаграммами история такая, что тот движок диаграмм, который мы используем — коммерческий, поэтому никаких диаграмм в community edition мы предоставлять не можем, безотносительно к тому, что является атрибутом какой разработки.

          Различия между pycharm и python plugin примерно такие же, как между rubymine и ruby plugin.
            +2
            Планируете ли вы для своей консоли и/или IPython консоли сделать такую удобную штуку как автодополняемая история команд (вставка из истории команд по первым введённым буквам)?

            Кстати, с новой версией IPython в консоль выводит следующее:
            ...\site-packages\IPython\frontend.py:30: UserWarning: The top-level `frontend` package has been deprecated. All its subpackages have been moved to the top `IPython` level. warn("The top-level `frontend` package has been deprecated. " PyDev console: using IPython 1.0.0

              0
              Сделаем, наверное. Напишите нам реквест в трекер, пожалуйста.
              0
              Историю комманд можно посмотреть нажав Ctrl+Alt+E. Там же можно пофильтровать по первым буквам. Это новая функция, поэтому для нее пока нету кнопки — есть только шорткат.
                +1
                Спасибо за подсказку. Не знал про эту функцию, так как у меня хоткей Ctrl+Alt+E был привязан для другой функции. Но всё же получается, что приходится делать лишние действия. В большинстве случаев хотелось бы проще:
                — вводим первые буквы ранее введённой команды
                — нажимаем "↑"
                — первая подходящая команда из истории вставилась
                — снова нажимаем "↑"
                — вторая подходящая команда из истории вставилась

                И так пока не найдём нужную нам команду. Так, например, работает стандартная консоль IPython и IPython QtConsole. Это очень удобно.
            0
            Хоть и не планирую пока использовать CE, тем не менее поддержу предыдущий комментарий, т.к. YAML уже давно де-факто стандарт для различного рода конфигов в Python
          0
          Приятно с утра почитать хорошие новости.
          Особое спасибо за фичу «Locate duplicates».
            +4
            Отлино! :) PyCharm Community Edition теперь будет жить рядом с купленной (на той распродаже в честь конца света ;) ) IDEA, для проектов, где только Python.

            Спасибо, JetBrains!
              +1
              А есди я недавно продлил подписку на обновления за $59 на PyCharm 2.x, я смогу по ней использовать версию 3.0, или для неё нужно отдельно лицензию покупать?
                0
                Отвечаю сам себе: по подписке работает.

                Пара моментов:

                — Почему-то терминал на Windows не работает. Открывается пустая панель. При нажатии на кнопку «New session» ничего не происходит. В настройках терминала вроде всё верно (Default shell = cmd.exe).

                — В переменных консоли много лишнего отображается. Можно было бы опционально скрывать всякие __builtins__, __doc__ и т. п. _*.
                  0
                  Спасибо, вот issue для этой проблемы: youtrack.jetbrains.com/issue/PY-10880
                  Можете проголосовать.

                  Планируем починить к следующему обновлению (3.0.1).
                +9
                Планируете ли вы бесплатные Community Edition для других ваших продуктов?
                  +1
                  На данный момент таких планов нет.
                    +2
                    А что вы еще хотите? Все продукты можно получить бесплатно под open-source проект. Для Java и Python дополнительно отделили «энтерпрайз» от «чистого» языка. Для PHP и Objective-C язык = энтерпрайз, для Ruby и JS — во многом тоже.
                    0
                    После прочтения этой новости, до сих пор бегаю по офису, как на этом ролике: z0r.de/2805

                    Огромнейшее спасибо за внедрение поддержки web2py. Была мысль использовать этот фреймворк в паре проектов, но останавливало, что PyCharm его не поддерживал.
                    • UFO just landed and posted this here
                        0
                        Когда есть удобное IDE-окружение (в данном случае это PyCharm), то переходить с него ради пары мелких проектов на web2py это не рационально.

                        Сейчас все в одной коробке, есть смысл и web2py попробовать.
                          0
                          *то переходить с него на другие IDE,
                        0
                        Кстати да. Мы вот Pyramid еще поддержали, используйте лучше его :)
                        +1
                        Замечательно! Community Edition — совсем хорошо.
                        Обидно только, что работу на двух мониторах в X11 так и не починили… Вообще, какая у вас основная поддерживаемая платформа для IDE? Насколько я понял поддержка GNU/Linux делается по остаточному принципу.
                          +4
                          Большинство проблем в Linux, к сожалению, надо чинить в JDK, а не у нас. Основной поддерживаемой платформы нету; сами разработчики сидят на всех трех операционках.
                            +1
                            А что не так с двумя мониторами? Сам сижу под OpenJDK 64-bit server JRE 1.7.0_25. Нормально с двумя мониторами. Единственное что: maximize срабатывает не на два экрана, но это и руками один раз сделать не проблема.
                              0
                              «Не так» — это, например, когда я нажимаю кнопку меню на правом мониторе, а собственно меню вылезает на левом :)
                              Впрочем, это всё мелочи жизни, функциональность IDE работает, что главное. В OpenSource софте и похуже баги водятся, и ничего.

                              Кстати, спасибо за напоминание про openjdk, я с oracle версией сижу, может и влияет.
                                0
                                А у меня такое же в IDEA и на винде собственно.
                            0
                            Отличная новость!

                            Правда мой пайчарм пишет, что апдейтов нет и у меня последняя версия (у меня 2.7)

                            Покупал лицензию в декабре 2012… есть ли овзможность обновится или нужно покупать 3.0 отдельно?
                              0
                              Скачал с сайта новую версию 3.0. Ключ от 2.7 для нее подошел без проблем.
                                0
                                А, спасибо, попробую также. Кстати, а настройки сохранились от 2.7 или придется все заново забивать туда? Хоткеи там, и т.п.
                                  0
                                  Все настройки полностью импортируются из 2.7. Нужно только при первом запуске выбрать соответствующий пункт в диалоге импорта конфигурации.
                                    0
                                    Супер, спасибо!
                                  +1
                                  С мажорными релизами у JetBrains, похоже, всегда так, их нужно отдельно выкачивать.
                                +1
                                Встроенного терминала очень не хватало, спасибо! Как скоро он будет доступен в IDEA?
                                  +1
                                  В версии 13 EAP уже есть.
                                  0
                                  Ребята из Jet Brains, что с терминалом такое может быть? Терминал не открывается (на Windows), просто показывается пустая панель и всё.

                                  Вот кусок лога: www.dropbox.com/s/xe7p0qo45ppgfo3/pycharm30_terminal_error_log.txt
                                  Похоже на какую-то ошибку.
                                  +1
                                  Скажите, а есть ли какие-нибудь фичи по интеграции с Cython?
                                    +4
                                    Да, в professional версии есть полная поддержка Cython.
                                    +1
                                    Чего-то перемудрили с анализатором. Стал подчёркивать корректные конструкции в абстрактных классах (когда используется abc.ABCMeta).

                                    Ложные срабатывания на простом примере

                                    –1
                                    Черд, куда делся плагин для jade файлов? Что мне теперь, html ручками править?
                                      +1
                                      Никуда не делся; как и раньше, доступен в плагин-менеджере.
                                        0
                                        Импортировал настройки из версии 2.7, где он был установлен, но в 3.0 он не появился в списке плагинов ни среди установленных, ни среди тех, что можно установить…
                                          0
                                          Проверил еще раз. В professional версии по кнопке Install JetBrains plugin все показывается. В community — не показывается и не предполагается.
                                      0
                                      Пользуюсь случаем, под PyCharm или Idea есть плагины для удаленного парного программирования, как Saros для Eclipse, например?
                                        +1
                                        Пока нет.
                                        +1
                                        Спасибо. Если бы еще прилагалась инструкция, как её шрифты сделать не такими страшными под Убунту (попробовав несколько разных, не помогло).
                                          0
                                          Читайте комментарии к youtrack.jetbrains.com/issue/IDEA-57233
                                            +1
                                            youtrack.jetbrains.com/issue/IDEA-57233#comment=27-472038 выглядит обнадёживающе.
                                              0
                                              краткая выжимка
                                              1. Ставим пропатченную версию openjdk, чтобы рендер текста производился средствами системы, а не джавы:
                                              sudo add-apt-repository -y ppa:no1wantdthisname/openjdk-fontfix
                                              sudo apt-get update && sudo apt-get install openjdk-7-jdk

                                              Если результат все еще не устраивает:
                                              2. Ставим пропатченную версию libfreetype от infinality.net, чтобы улучшить хинтинг в системном рендере:
                                              sudo add-apt-repository -y ppa:no1wantdthisname/ppa
                                              sudo apt-get update && sudo apt-get install fontconfig-infinality

                                              в /etc/profile.d/infinality-settings.sh поменять
                                              USE_STYLE="DEFAULT" на NUDGE или SHARPENED

                                              потом запустить
                                              sudo /etc/fonts/infinality/infctl.sh setstyle
                                              и выбрать 3й вариант (linux)

                                              Перезагрузиться.

                                              *я еще по привычке делаю вот так, но не уверен, что теперь это на что-то влияет (раньше, когда ставил infinality ручками — без этого нормальный хинтинг не работал в меню оконного менеджера):
                                              echo "export LD_PRELOAD=/usr/lib/(x86_64 или i386)-linux-gnu/libfreetype.so.6" | sudo tee /etc/profile.d/freetype-infinality.sh

                                                +1
                                                Работает! Наконец то нормальные шрифты в пичарме
                                                  0
                                                  Мда. В остальной убунте шрифты испортил от этих инструкций.
                                                    0
                                                    Удаление пакета из второго пункта должно вам помочь (после этого, на всякий случай, можно убедиться, что в /etc/profile.d/ не осталось ничего лишнего). Но вообще — я бы порекомендовал вам поиграться с настройками. Подробности можно поискать на infinality.net
                                                      0
                                                      Уже не помню подробности, но, кажется, удаление не помогало. Я в конце концов вернул DEFAULT и в целом сглаживание удовлетворительное. Больше волнует, что шрифты немного изменились, в некоторых местах имеют проблемы с отступами и вообще немного непривычные.

                                                      В общем. надо будет разобраться как его удалить нормально.
                                                        0
                                                        «Непривычность» шрифтов — скорее всего следствие изменений в /etc/fonts
                                                        попробуйте
                                                        sudo /etc/fonts/infinality/infctl.sh makestyles
                                                        а потом
                                                        sudo /etc/fonts/infinality/infctl.sh setstyle
                                                        и повыбирать разные варианты. Мне лучше всего подошел вариант 3, при этом другие приводили к тому, что половина шрифтов менялась на serif, и сбивался хинтинг.

                                                        Ну и по-идее пакет должен сам адекватно удаляться. Может нужно сбрость кеш шрифтов или что-нибудь в этом роде.
                                              +4
                                              Скажите, а есть ли в планах (или, может, это уже сделано?) поддержка фреймворка Twisted?
                                                +2
                                                Пока не сделано, но в планах есть.
                                                +2
                                                Не планируете добавить поддержку tornado и его темплейты? А то писать их тяжело, PyCharm считает, что это джанго темплейт :(
                                                  0
                                                  Сделаем, скорее всего.
                                                  0
                                                  А как обновить-то? При клике на Check for updates PyCharm 2.7 говорит, что это последняя версия.
                                                    0
                                                    Патчи для major релизов мы не выкладываем, так что нужно скачать полный инсталлятор с сайта.
                                                    0
                                                    Поддерживает ли Community Edition PySide так же, как и PyQt?
                                                      0
                                                      Да, должен.
                                                      0
                                                      Попробовал встроенную консоль, поставли в коде import ipdb; ipdb.set_trace(), оно остановилось на брекпоинте только вот не работает нажатие табов, а без этого ipdb от обычного pdb вроде как и не отличается. Может я что не так делаю?
                                                        0
                                                        Если честно, мне кажется, что вы что-то не так делаете примерно с того места, когда пытаетесь использовать ipdb внутри IDE, в которой есть полноценный графический отладчик.
                                                          0
                                                          Точно, совсем забыл про это ) Буду пробовать через графический отладчик.
                                                        0
                                                        Получается, в СЕ не получится отлаживать uWSGI-приложения, которые крутятся под реальными серверами (Nginx, например)? В 2.7 решалось использованием удалённой отладки.
                                                          0
                                                          Точно так. Удаленная отладка поддерживается только в профессиональной версии.
                                                            +1
                                                            В CE нету функциональности удаленных интерпретаторов, которые есть только в PE.
                                                            В то время как удаленная отладка с помощью Python Remote Debug Server в CE есть:
                                                            www.jetbrains.com/pycharm/webhelp/remote-debugging.html#6
                                                              0
                                                              Простите за дезинормацию, но Python Remote Debug Server в CE тоже отсутствует.
                                                            0
                                                            Больше всего раздражает то, что никак не решается проблема с smb-протоколом.

                                                            Чтобы открыть проект после размонтирования диска, нужно перезагрузать IDE (после перезагрузки появляется предложение удалить неактивный проект), т.к. считается что проект уже загружен, хотя от проекта остается только одна пустая папка, которую нельзя удалить!

                                                            PS: Mac OS
                                                              0
                                                              Не решается и не будет. Мы настоятельно рекомендуем держать копию проекта на локальном диске и использовать функционвльности FTP deployment, чтобы заливать его на SMB-шару или куда вам еще нужно.
                                                                0
                                                                Я этот ответ слышу уже много лет, и не могу понять, что вам мешает поправить явные косяки?

                                                                Конечно я проовал FTP deployment, но когда в проекте более чем 20 тыс. файлов все еще печальней.
                                                                В чем проблема дать возможность удалить пустую папку проекта чтобы открыть его заново?

                                                                  0
                                                                  К тому же, вы много знаете компаний которые дают разработчикам FTP-доступ?

                                                                  И если уж на то пошло, то у меня вообще пропал этот пункт:

                                                                    0
                                                                    Посмотрите в списке плагинов, не отключен ли у вас плагин «Remote Hosts Access»
                                                                      0
                                                                      Хм. действительно, некоторые настройки сбились.
                                                                      0
                                                                      Не дают FTP доступ, но при этом дают SMB?
                                                                0
                                                                Большое спасибо за исправленный рендеринг списка файлов, в случае увеличенного DPI и шрифта!
                                                                  0
                                                                  А мне вот интересно другое, PyCharm позиционируется как веб-инструмент или все такие как инструмент для создания приложений на питоне? Если последнее то очень хочется увидеть графический дизайнер TK — для создания интерфейса на ТК (автоматическая генерация, аналог VS), возможно графический дизайнер для других библиотек. А так же более тесная и удобная интеграция с документацией(вообще сделано не очень удобно, тк если модуль не документирован внешней документацией из программы пользоваться не очень удобно, хотелось что-нибудь вроде HelpAgenta VisualStudio). И последнее чего действительно не хватает, по крайне мере мне, это более тесная интеграция с COM, а именно PyWin32. Хотелось бы увидеть COM-explorer и генерацию модулей из программы, а также другие интересные плюшки.
                                                                  Не знаю зачем я это все написал. Надеюсь если кто нибудь из разработчиков увидит данный пост, то хотя бы вынесет на общее рассмотрение мои небольшие предложения. А в целом, спасибо, хороший продукт для умелых рук. Тесная интеграция с популярными библиотеками это прекрасно.
                                                                    0
                                                                    Нашел неприятный баг, связанный с невозможностью выполнить команду git add (Cmd+Option+A) произвольное количество раз на одном и том же Change List (соответствующий пункт меню просто не активен). Это приводит к тому, что невозможно генерировать diffs от одного запуска git add до другого. Я так привык загружать изменения (git diff) в систему code review (collaborator).
                                                                      0
                                                                      Это не баг. PyCharm никак не поддерживает работу с git index, поэтому если файл уже добавлен в changelist, нет смысла добавлять его еще раз.
                                                                        0
                                                                        2.7 позволяет, не вижу ничего плохого в этом.
                                                                      –1
                                                                      У меня как-то сразу не сложились отношения с этой IDE. Производительность никакая — символ появляется через 3 секунды после нажатия на клавиатуре, на специально допущенные ошибки в коде django-проекта IDE ни коим образом не среагировала, плюс в каталогах проекта создаются всякие левые файлы-папки с метаданными.
                                                                      Удалил.
                                                                        0
                                                                        О_о Интересная производительность — вы работаете на RPi?

                                                                      Only users with full accounts can post comments. Log in, please.