Архив метки: библиотеки

Django 1.5 и Python 3 (Перевод)

Django 1.5 уже «полностью» поддерживает Python 3, как минимум с технической точки зрения. Поддержка реализована, проверена и работает. Я планирую поместить свой сайт на Django 1.5 / Python 3.3 уже в этом году. Так что в этом смысле всё «готово».
Однако, это не значит, что я рекомендую делать это другим.
У мы даём серьёзные обещания обратной совместимости и мы ещё не на 100% хорошо соответствуем Python 3 API. Есть маленькая (не нулевая) вероятность, что надо будет что-то изменить между 1.5 и 1.6; и мы бы хотели сохранить возможность обратной несовместимости (для Python 3).
Кроме того, есть маленькая (но, опять же, не нулевая) вероятность что есть 1-3 серьёзрых бага в поддержке Python 3 и мы не хотим, чтобы люди с этим столкнулись.
Наконец, значительная часть «хорошести» Django — сторонние приложения, многие из которых не поддерживают ещё Python 3. И это серьёзная проблема для Django / Py3, так как многие сайты используют большое количество сторонних приложений. Так что перед переходом на Python 3 Вы должны решить для себя вопрос: «Готов ли я отказаться от этого приложения или готов портировать его на Python 3 и внести патч?»
В случае моего сайта я к этому готов. Я достаточно хорошо знаю Django, чтобы не бояться потенциальных багов и обратной несовместимости и я могу заняться патчами для Python 3.
Но к большинству пользователей это не относится, так что я надеюсь, что большая часть пользователей Django дождётся 1.6 перед тем, как начать использовать Python 3.
У нас пока нет твёрдых сроков. Я думаю, что 1.6 можно ждать где-то через 6-9 месяцев, но это зависит от слишком многих факторов. Реально срок может быть и год и 3-4 месяца. Увидим 🙂

Автор: Ishayahu Lastov

Программирование работы с SSH при помощи Paramiko (Перевод)

OpenSSH — это вездесущий метод удалённого безопасного доступа к машине и передачи файлов. Многие — системные администраторы, инженеры автоматизации тестов, веб-разработчики и другие люди используют этот методы ежедневно. Написание скриптов для ssh на Python может быть тяжёлым занятием, но модуль Paramiko позволяет решить эту задачу проще.
Это репринт статьи, написанной для Python Mag­a­zine в колонку Com­pletely Dif­fer­ent и опубликованной в октябрьском выпуске 2008 года. Тут она приводится в оригинальной форме, со всеми ошибками и т.д.

Читать

Релиз CFFI 0.2

Вышел релиз CFFI 0.2 (а вскоре ожидается и 1.0). CFFI это способ вызова C из Python. Этот релиз касается только CPython 2.6 или 2.7. Поддержка PyPy будет в ветке ffi-backend, но она ещё не реализована.Поддержку CPython 3.x сделать легко, но нужна для этого помощь.
Пакет доступен на bitbucket и хорошо документирован. Кроме того Вы можете просто установить его из python package index: pip install cffi
В этом релизе:
  • Многочисленные небольшие изменения и поддержка большего количества Си-измов
  • Большая новость: поддержка installing packages которые используют ffi.verify() на машина без компилятора C. Возможно это снимает последнее ограничение, которое удерживало людей от использования CFFI.
  • Некоторые небольшие изменения:
    • отображение между 'wchar_t' и Python юникодом
    • введение ffi.NULL
    • возможно более ясное API для ffi.new(): т.е. для того, чтобы выделить единичный int и получить указатель на него, используйте ffi.new(«int *») вместо старого ffi.new(«int»)
    • и, конечно, множество маленьких исправлений
  • CFFI использует pkg-config при наличии для собственной установки. Это помогает определить место libffi на современных Linux. Поддержка Mac OS/X тоже доступна (смотрите детальные инструкции по установке). Win32 должен работать из коробки. Win64 реально ещё не тестирован.

    Автор: Ishayahu Lastov