Внутренняя ошибка сервера CKAN (500) при ошибках производства / Python в журналах после обновления Ubuntu 16-> 18

Недавнее обновление (слегка непреднамеренное) с сервера Ubuntu 16.04 на сервер Ubuntu 18.04, похоже, сломало наш рабочий сервер CKAN, который был первоначально установлен в 16.04 из исходного кода, версия 2.7.2, в соответствии со стандартной документацией по установке. Я могу запустить сервер на порту 5000 с помощью этих команд из конца этих документов: -

cd /usr/lib/ckan/default/src/ckan
paster serve /etc/ckan/default/development.ini

и все, кажется, хорошо работает в браузере. Но основной рабочий сервер выдает ошибку 500 Internal Server Error. Если я curl -I 127.0.0.1:8080, с сервера, то в /var/log/apache2/ckan_default.error.log я каждый раз получаю следующие ошибки: -

Error loading 'pyutilib.component' entry points: ''NoneType' object is not callable'
mod_wsgi (pid=9027): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=9027): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.
Traceback (most recent call last):
   File "/etc/ckan/default/apache.wsgi", line 5, in <module>
     from paste.deploy import loadapp
   File "/usr/local/lib/python2.7/dist-packages/paste/deploy/__init__.py", line 3, in <module>
     from paste.deploy.loadwsgi import *
   File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 8, in <module>
     import pkg_resources
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3251, in <module>
     @_call_aside
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3235, in _call_as
ide
     f(*args, **kwargs)
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3279, in _initial
ize_master_working_set
     for dist in working_set
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3279, in <genexpr
>
     for dist in working_set
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2785, in activate
     declare_namespace(pkg)
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2284, in declare_
namespace
     _handle_ns(packageName, path_item)
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2217, in _handle_
ns
     loader.load_module(packageName)
   File "/usr/lib/python2.7/pkgutil.py", line 243, in load_module
     mod = imp.load_module(fullname, self.file, self.filename, self.etc)
   File "/usr/local/lib/python2.7/dist-packages/pyutilib/component/__init__.py", line 15, in <module>
     core.PluginGlobals.add_env("pca")
 AttributeError: type object 'PluginGlobals' has no attribute 'add_env'
 mod_wsgi (pid=9027): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.
 mod_wsgi (pid=9027): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.
 Traceback (most recent call last):
   File "/etc/ckan/default/apache.wsgi", line 5, in <module>
     from paste.deploy import loadapp
   File "/usr/local/lib/python2.7/dist-packages/paste/deploy/__init__.py", line 3, in <module>
     from paste.deploy.loadwsgi import *
   File "/usr/local/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 8, in <module>
     import pkg_resources
   File "/usr/lib/ckan/default/lib/python2.7/site-packages/pkg_resources/__init__.py", line 79, in <module>
     from . import py31compat
 ImportError: cannot import name py31compat

Я не понимаю, почему в журналах есть ссылки как на /usr/lib/ckan/default/lib/python2.7, так и на /usr/local/lib/python2.7. Но я проверил, что обе версии имеют версии пакетов, соответствующие версиям в файле requirements.txt для CKAN 2.7 (единственное исключение — psycopg2, который нам пришлось обновить до версии 2.7.3.2, чтобы справиться с проблемой версии postgresql, описанной в другом месте). Я также пробовал различные перезапуски/перезагрузки.

Буду очень признателен за любые идеи о том, как исправить/где отлаживать дальше.


person Wes Hinsley    schedule 29.09.2020    source источник


Ответы (1)


CKAN должен работать под управлением Python 2.7, убедитесь, что ваша Ubuntu использует Python 2.7, если вам не нужно настроить его для его использования, мне пришлось перейти с Ubuntu на Centos 7, чтобы легко избавиться от этой проблемы.

person jbeas    schedule 15.10.2020
comment
Мы уже используем Python 2.7, и сервер разработки работает нормально. - person Wes Hinsley; 16.10.2020