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