金字塔导入错误:没有名为registry的模块

2024-06-26 04:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在我的机器上把金字塔从1.2升级到1.5.1,当我试图启动uwsgi服务器时,现在我得到了这个错误。在

  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 271, in loadobj
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 559, in _pipeline_app_context
    APP, pipeline[-1], global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 646, in find_egg_entry_point
    possible.append((entry.load(), protocol, entry.name))
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2190, in load
  File "./xyz/__init__.py", line 1, in <module>
    from pyramid.config import Configurator
  File "/usr/local/lib/python2.7/dist-packages/pyramid/config/__init__.py", line 20, in <module>
    from pyramid.authorization import ACLAuthorizationPolicy
  File "/usr/local/lib/python2.7/dist-packages/pyramid/authorization.py", line 9, in <module>
    from pyramid.security import (
  File "/usr/local/lib/python2.7/dist-packages/pyramid/security.py", line 13, in <module>
    from pyramid.threadlocal import get_current_registry
  File "/usr/local/lib/python2.7/dist-packages/pyramid/threadlocal.py", line 3, in <module>
    from pyramid.registry import global_registry
  File "/usr/local/lib/python2.7/dist-packages/pyramid/registry.py", line 5, in <module>
    from zope.interface.registry import Components
ImportError: No module named registry

如何继续解决这个错误,我正在使用uwsgi运行服务器。我在类似的问题中寻找解决方案,但没有任何帮助。在


Tags: inpyegglibpackagesusrlocaldist
1条回答
网友
1楼 · 发布于 2024-06-26 04:54:00

你也需要升级你的zope.interface版本。您需要安装3.8.0或更高版本。在

其他最低要求也从1.2开始更新:

  • WebOb必须是1.3.1或更高版本
  • repoze.lru必须为0.4或更高
  • zope.deprecation需要3.5.0或更高版本
  • venusian现在必须至少是1.0a3版本
  • translationstring必须是0.4或更高版本。在

考虑到这些包中的每一个也可能有其他依赖项。在

如果您使用的是buildout,请确保您有一个[versions]部分并固定更新的版本。如果您有一个virtualenv,您应该调查bin/pip -U是否能为您获得正确的版本。在

但是,我不会在一步之内直接从1.2跳到1.5.1。按照upgrade advice,阅读更改日志,看看是否可以一次升级一个应用程序版本;从1.2升级到1.3.4,再升级到1.4.5到1.5.1。在

相关问题 更多 >