私はタスクランナーとしてセロリを使用しています。 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のバージョンにいくつかの構文が変更されましたか?
「プライベート」メンバー(「_uuid_generate_random」)をインポートしているようです。バージョン間で予告なく変更する可能性があるため、これを行うべきではないでしょう... – mgilson
これはSyntaxErrorではなく、ImportErrorです。だから、おそらく構文ではなく、ライブラリからインポートしようとすると問題になります。 – SethMMorton
ああ。私は愚かな気がしません。 – lang2