enter code here
패키지 이름이 샐러리이고 파일 이름이 샐러리입니다.파이썬 패키지에 대한 혼동 가져 오기
내가 셀러리 가져 오기 셀러리 패키지 대신 셀러리 파일을 가져 오려고 할 때 가져 오기 셀렉션을 말할 때. 셀러리를 가져올 수 없다고 말합니다.
from __future__ import absolute_import
from celery import Celery
celery = Celery('celery_app',
broker='redis://localhost:6379/0',
backend='amqp://',
include=['celery_app.tasks'])
# Optional configuration, see the application user guide.
celery.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
)
if __name__ == '__main__':
celery.start()
아래와 같이 표시됩니다. 파일 대신 패키지를 가져 오는 방법을 설명 할 방법이 있습니까?
편집 :
는
from __future__ import absolute_import
import sys
del sys.path[0]
from celery import Celery
하지만 여전히 같은
을 시도했다. 내가 파이썬 셸에서 그 명령을 시도하면; 어떤 오류도주지 않습니다. 제가 누락 된 것이 있습니까?
왜 같은 이름을 가진 모듈과 패키지를해야합니까? 그 중 하나를 변경해야합니다. – BrenBarn
@BrenBarn : 가능해야합니다. stdlib은 계속 커지기 때문에 앞으로의 모든 추가 기능을 기대할 수 없습니다. –
@larsmans : 어떤면에서는 사실이지만, 그 주위에는 방법이 없습니다. 패키지 이름을 무엇이든 상관없이 다른 사람 (stdlib 포함)이 그 이름을 가진 다른 모듈을 만들 수 있습니다. 최후의 수단에서는 필요한 순서대로 경로를 검색하기 위해 항상'sys.path'를 조작 할 수 있습니다. – BrenBarn