LINUX.ORG.RU

[python]Помогите, что за warning

 


0

0

В питоне новичок, так что не пинайте.

Нужно написать небольшой скрипт, работающий с ssh. С помощью гугла определил, что для этого нужен пакет «paramiko», но при подключении «paramiko» вылазит следующий warning:

/usr/lib/python2.6/site-packages/Crypto/Hash/SHA.py:6: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  from sha import *

сам скрипт пока выглядит так:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import paramiko

print "test"

В чем дело? Как избавится от такого?

★★★★★
Ответ на: комментарий от wfrr

Это я понял, но что он от меня хочет?

Может быть есть менее кривые реализации ssh для питона?

mono ★★★★★
() автор топика
Ответ на: комментарий от stave

по первой ссылке ничего не помогло.. ворнинг так и остался.

Блин! Ну почему вместо кучи непонятных велосипедов нельзя было сделать один, но работающий.

сейчас проверю, что за twisted.

mono ★★★★★
() автор топика
Ответ на: комментарий от kot_otbelivatel

брал из репозитария OpenSuSE 11.1

mono ★★★★★
() автор топика
Ответ на: комментарий от stave

Да. стоит. Видимо ругать нужно мейнтейнеров OpenSuSE.

mono ★★★★★
() автор топика
Ответ на: комментарий от stave

А как у тебя выглядит файл

/usr/lib/python2.6/site-packages/Crypto/Hash/SHA.py ?

Видимо он хочет, чтобы я взял sha из hashlib, а я не понимаю как это сделать.

mono ★★★★★
() автор топика
Ответ на: комментарий от mono
# Just use the SHA module from the Python standard library

__revision__ = "$Id: SHA.py,v 1.4 2002/07/11 14:31:19 akuchling Exp $"

__all__ = ['new', 'digest_size']

try:
    # The md5 module is deprecated in Python 2.6, so use hashlib when possible.
    import hashlib
    def new(data=""):
        return hashlib.sha1(data)
    digest_size = new().digest_size

except ImportError:
    from sha import *
    import sha
    if hasattr(sha, 'digestsize'):
        digest_size = digestsize
        del digestsize
    del sha
stave ★★★★★
()
Ответ на: комментарий от stave

>В некоторых ситуациях убунту не так плоха )
у меня в бубнте не работает, но я ставил через easy_install видимо если ставить через репозиторий, то всё заработает, видимо пачти накладываются :)

dimon555 ★★★★★
()
Ответ на: комментарий от stave

нет, облом.. потом падает на других местах, придется жить с ворнингами.

В OBS новой версии нет. Вообще плохо :(

>В некоторых ситуациях убунту не так плоха )

это точно.

mono ★★★★★
() автор топика
Ответ на: комментарий от wfrr

Пожалуйста, не пишите про то, в чем не разбираетесь.

У топикстартера устаревший модуль pycrypto, который к стандартной библиотеке питона отношения не имеет.

ntp
()
Ответ на: комментарий от mono

Последняя 2.1.0b1, разработчики сами пишут, что стабильная версия старовата: http://www.dlitz.net/software/pycrypto/

Этот конкретный баг (пофикшен): https://bugs.launchpad.net/pycrypto/+bug/269429

В любом случае питон тут ни при чем, это проблема одной конкретной сторонней библиотеки.

ntp
()
Ответ на: комментарий от ntp

>В любом случае питон тут ни при чем

Питон тут при том, что слишком рано объявили Depricated.

У меня сейчас в 2.6 половина Питоновского софта этой ошибкой ругается. А часть в 2.6 вообще не пашет, блин.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Depricated они стали еще в питоне 2.5, т.е. 3 года назад. Все кто продолжают поддерживать свои сторонние модули давно их обновили. Что некоторые пользователи используют старые модули, а некоторые разработчики больше их не обновляют - не проблема питона.

ntp
()
Ответ на: комментарий от ntp

>Depricated они стали еще в питоне 2.5, т.е. 3 года назад

Только ругани этой, почему-то, ещё летом не было :)

>Все кто продолжают поддерживать свои сторонние модули давно их обновили.


Фиг там. Каждый день почти эти варнинги вижу в самых разных приложениях. От Elise до pyicq-t.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Только ругани этой, почему-то, ещё летом не было :)

Ругань стала появляться с версии 2.6 (т.е. ровно год назад), чтобы последние слоупоки обратили внимание.

> Каждый день почти эти варнинги вижу в самых разных приложениях. От Elise до pyicq-t.

Надо посмотреть кто вызывает устаревшие модули и идти багу запостить, open source же.

ntp
()
Ответ на: комментарий от KRoN73

> Питон тут при том, что слишком рано объявили Depricated.

Как это рано объявили? Когда оно фактически стало deprecated (новый модуль появился), тогда и объявили. Старый же модуль не убрали, всё работает. А если какая-то прога вдруг из-за этого вообще не будет работать, то это действительно её личные проблемы.

const86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.