gpt4 book ai didi

python - 神秘的 "cannot import name"异常

转载 作者:太空宇宙 更新时间:2023-11-03 18:42:34 24 4
gpt4 key购买 nike

我有一个 celery tasks.py 模块,当从 ./manage.py shell 命令内部导入时正在运行,但是当我像这样直接从 bash 导入它时:

DJANGO_SETTINGS_MODULE="config.settings" python -c "from app.news.tasks import parse_feeds; parse_feeds()" 

它引发:

ImportError: cannot import name Title.

我检查了两种模式下的sys.path,它们是相同的(除了不相关的 IPython 特定包)。

我应该提到,我有另一个在两种模式下运行的任务模块。

编辑:这是我的匿名终端输出,以了解更多详细信息:

(PROJECT)USER@HOST:~/projects/PROJECT/src$ DJANGO_SETTINGS_MODULE="config.settings" python -c "from app.news.tasks import parse_feeds; parse_feeds()"
/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead
DeprecationWarning)

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "app/news/tasks.py", line 10, in <module>
from .models import NewsEntry
File "app/news/models.py", line 5, in <module>
from cms.models.fields import PlaceholderField
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/models/__init__.py", line 10, in <module>
from .permissionmodels import *
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/models/permissionmodels.py", line 7, in <module>
UserModel = get_user_model()
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 127, in get_user_model
user_model = get_model(app_label, model_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 230, in get_model
self._populate()
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/db/models/loading.py", line 96, in load_app
models = import_module('.models', app_name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/djangocms_text_ckeditor/models.py", line 6, in <module>
from djangocms_text_ckeditor.utils import plugin_tags_to_id_list, replace_plugin_tags
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/djangocms_text_ckeditor/utils.py", line 6, in <module>
from cms.plugins.utils import downcast_plugins
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/plugins/utils.py", line 11, in <module>
from cms.utils.moderator import get_cmsplugin_queryset
File "/home/USER/projects/PROJECT/local/lib/python2.7/site-packages/cms/utils/moderator.py", line 2, in <module>
from cms.models import PageModeratorState, CMSPlugin, Title
ImportError: cannot import name Title

编辑 2:通过直接导入自定义的 User 模型而不是原始的 get_user_model() 来解决此问题。我知道这不是那么Pythonic,但我很着急。

最佳答案

关于python - 神秘的 "cannot import name"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20217879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com