为什么我在安装依赖项之前遇到tox导入错误

问题描述 投票:0回答:1

在我的django项目中,我有一个进口芹菜的__init__.py文件,我怀疑这可能会导致tox抱怨。

/testproj/testproj/ ____init___.py

from .celery import app as celery_app

当我运行tox时,测试成功运行,但我看到了这个错误。

File "/dir/work/testproj/testproj/celery.py", line 2, in <module>
from celery import Celery
ImportError: cannot import name Celery
mobilereports installed: amqp==1.4.9,anyjson==0.3.3,appdirs==1.4.0,Babel==2.3.4,billiard==3.3.0.23,cached-property==1.3.0,celery==3.1.24

我觉得奇怪的是导入错误高于芹菜导入的实际导入。

为什么我收到此错误? Celery在我的requirements.txt中,正如你在上面看到的那样由tox安装,那么为什么我会在deps实际安装之前得到一个导入错误?

tox.ini

[tox]
envlist = mobilereports
skipsdist = True

[env]
commands = ./runtests.sh 


setenv =
    DJANGO_SETTINGS_MODULE=testproj.settings
    PYTHONPATH={toxinidir}

[base]
deps =
    -r{toxinidir}/requirements.txt

[env:testproj]
basepython = python3
deps =
    {[base]deps}
python django tox
1个回答
0
投票

尝试将您的celery.py文件重命名为其他内容。它可能掩盖了通过需求安装的celery模块(因此from celery import Celery线可以从模块本身导入)。

© www.soinside.com 2019 - 2024. All rights reserved.