Проблема с django после изменения версии python

Я обновлял свой сервер Ubuntu с версии 16.04 до 18.04, и после завершения обновления некоторые из моих старых сайтов, созданных на Django, перестали работать. В похожих темах я нашел информацию о попытке создать новый virtualenv для каждого сайта - к сожалению, в моем случае это не помогло. Я по-прежнему не могу запустить файл manage.py. В ответ я получаю пачку ошибок, связанных, скорее всего, с импортом модулей.

Traceback (most recent call last):
  File "/xxx/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 229, in wrapper
    fn(*args, **kwargs)
  File "/xxx/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 107, in inner_run
    autoreload.raise_last_exception()
  File "/xxx/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 252, in raise_last_exception
    six.reraise(*_exception)
  File "/xxx/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 229, in wrapper
    fn(*args, **kwargs)
  File "/xxx/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/xxx/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/xxx/local/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/xxx/local/lib/python2.7/site-packages/aldryn_forms/contrib/email_notifications/models.py", line 16, in <module>
    from emailit.api import construct_mail
  File "/xxx/local/lib/python2.7/site-packages/emailit/api.py", line 2, in <module>
    import premailer
  File "/xxx/local/lib/python2.7/site-packages/premailer/__init__.py", line 2, in <module>
    from .premailer import Premailer, transform
  File "/xxx/local/lib/python2.7/site-packages/premailer/premailer.py", line 29, in <module>
    from lxml import etree
ImportError: /xxx/local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyFPE_jbuf

Я создал виртуальную среду следующим образом:

  1. virtualenv --no-site-packages newvens,
  2. pip install -r requirements.txt - copied from previous directory,
  3. copying the entire directory with the site to the new environment,

Я также пытался исправить virtualenv с помощью команды: virtualenv --system-site-packages /PATH/TO/EXISTING/ENVIRONMENT и virtualenv /PATH/TO/EXISTING/ENVIRONMENT.

Я думаю, что это связано с изменением версии python, потому что в одной среде я не пытался исправить версию: 2.7.12, а в остальных 2.7.17.

В новых средах я могу запустить команду pip, а в старых я получаю сообщение:

Traceback (most recent call last):
  File "/home/xxx/bin/pip", line 5, in <module>
    from pip._internal.main import main
  File "/home/xxx/local/lib/python2.7/site-packages/pip/_internal/main.py", line 9, in <module>
    import logging
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, collections
  File "/usr/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

Из любопытства я поставил новый Django в новый virtualenv и он заработал, но импорт старых сайтов не сработал.

... и да, я знаю, что мне следует обновить эти версии Django....

Вернуться на верх