Você provavelmente está importando o módulo os.py errado. Tente iniciar o python2.6 e então
>>> import os
>>> print os.__file__
Deve ser /usr/lib64/python2.6/os.py
ou /usr/lib64/python2.6/os.pyc
.
Se não for remover (ou renomear) o arquivo que você encontrou.
Se for tentar:
>>> os.urandom(3)
Isso deve fornecer uma sequência de 3 caracteres. Em caso afirmativo, gajim
está encontrando o módulo os.py
errado. Se você obtiver o mesmo erro de quando estiver executando gajim
, procure no /usr/lib64/python2.6/os.py
no final urandom
deve ser definido se não existir (usando a linha if not _exists("urandom":
).
Se não estiver definido, como parece ser o caso de python-2.6.5-2.5mdv2010.2.x86_64
e /dev/urandom
, você pode tentar adicionar novamente o código:
if not _exists("urandom"):
def urandom(n):
"""urandom(n) -> str
Return a string of n random bytes suitable for cryptographic use.
"""
try:
_urandomfd = open("/dev/urandom", O_RDONLY)
except (OSError, IOError):
raise NotImplementedError("/dev/urandom (or equivalent) not found")
try:
bs = b""
while n - len(bs) >= 1:
bs += read(_urandomfd, n - len(bs))
finally:
close(_urandomfd)
return bs
Veja também: este relatório de erros