2016-05-01 20 views
3

私はタスクランナーとしてセロリを使用しています。 Python 2.7でうまくいきました。最近、私はUbuntuの16.04への私のPCをアップグレードし、それを与えることを開始し、次のエラーを満たし:セロリ:失敗として複数のインポート

from uuid import UUID, uuid4 as _uuid4, _uuid_generate_random 
ImportError: cannot import name _uuid_generate_random 

完全なコールスタック:

Traceback (most recent call last): 
    File "venv/bin/celery", line 7, in <module> 
    from celery.__main__ import main 
    File "venv/local/lib/python2.7/site-packages/celery/__init__.py", line 133, in <module> 
    from celery import five # noqa 
    File "venv/local/lib/python2.7/site-packages/celery/five.py", line 153, in <module> 
    from kombu.utils.compat import OrderedDict # noqa 
    File "venv/local/lib/python2.7/site-packages/kombu/utils/__init__.py", line 19, in <module> 
    from uuid import UUID, uuid4 as _uuid4, _uuid_generate_random 
ImportError: cannot import name _uuid_generate_random 

これは私にはかなり奇妙に思えます。現在のところ、私のpythonのバージョンは:

Python 2.7.10 

2.7.xのバージョンにいくつかの構文が変更されましたか?

+3

「プライベート」メンバー(「_uuid_generate_random」)をインポートしているようです。バージョン間で予告なく変更する可能性があるため、これを行うべきではないでしょう... – mgilson

+1

これはSyntaxErrorではなく、ImportErrorです。だから、おそらく構文ではなく、ライブラリからインポートしようとすると問題になります。 – SethMMorton

+0

ああ。私は愚かな気がしません。 – lang2

答えて

1

それは昆布の古いバージョンではバグです。アップグレードするだけでエラーは消えてしまいます。

pip install -U kombu 
関連する問題