ガムを開くことができません

ガムを開くことができません

gnomeの端末を使用してGajimを開こうとすると、次のメッセージが表示されます。

Traceback (most recent call last):
  File "gajim.py", line 106, in <module>
    import common.configpaths
  File "/usr/share/gajim/src/common/configpaths.py", line 27, in <module>
    import tempfile
  File "/usr/lib64/python2.6/tempfile.py", line 34, in <module>
    from random import Random as _Random
  File "/usr/lib64/python2.6/random.py", line 47, in <module>
    from os import urandom as _urandom
ImportError: cannot import name urandom

この問題を解決する方法を知っていますか?

私のオペレーティングシステムはMandriva 2010.1で、Pythonはv2.4からv2.6にアップグレードされました。

答え1

無効なos.pyモジュールをインポートした可能性があります。 python2.6を起動してみてください。

>>> import os
>>> print os.__file__

/usr/lib64/python2.6/os.pyそれまたは必要があります/usr/lib64/python2.6/os.pyc。それ以外の場合は、見つかったファイルを削除するか名前を変更してください。その場合は、以下を試してください。

>>> os.urandom(3)

これにより、3桁の文字列が提供されます。もしそうなら、gajim間違ったos.pyモジュールが見つかりました。実行時に同じエラーが発生した場合は、最後を見て、存在しない場合はgajim定義する必要があります(該当する行を使用)。/usr/lib64/python2.6/os.pyurandomif not _exists("urandom":

python-2.6.5-2.5mdv2010.2.x86_64and 、および存在の場合など、定義されていない場合は/dev/urandomコードを追加してみてください。

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

また見なさい:これエラーレポート

関連情報