AttributeError: у объекта 'module' нет атрибута 'wraps' - PullRequest
0 голосов
/ 01 сентября 2011

Я пытаюсь запустить Django на учетной записи общего хостинга, для которого у меня есть доступ по ssh, но у меня возникли проблемы с его работой.Когда я впервые попробовал запустить django-admin.py, я получил сообщение об отсутствии модуля functools.У меня была хостинговая компания, установившая пакет functools, но теперь я получаю следующую трассировку при попытке запустить django-admin.py.

Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
  File "/usr/local/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 3, in <module>
    from optparse import OptionParser, NO_DEFAULT
  File "/usr/local/lib/python2.6/optparse.py", line 90, in <module>
    from gettext import gettext
  File "/usr/local/lib/python2.6/gettext.py", line 49, in <module>
    import locale, copy, os, re, struct, sys
  File "/usr/local/lib/python2.6/locale.py", line 98, in <module>
    @functools.wraps(_localeconv)
AttributeError: 'module' object has no attribute 'wraps'

Я открыл заявку в службу поддержки и мне сказали, что они переустановили Python 2.6, но это ничего не изменило.Я также попробовал с 2.4, который также установлен на машине, но это привело к более ранней ошибке ImportError: No module named functools.

У кого-нибудь есть какие-нибудь идеи?

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Вероятная причина - что-то затенение модуля stdlib functools.У вас есть functools.py рядом с основным скриптом (manage.py)?Посмотрите, что печатает import functools; print functools.__file__ внутри manage.py ( до любого другого импорта.) Если он не печатает /usr/local/lib/python2.6/functools.py, возможно, существует файл, скрывающий стандартный библиотечный модуль.Если он напечатает это, что-то не так с этим файлом, несмотря на переустановку.

0 голосов
/ 13 июня 2015

это решение сработало для меня.

mv /usr/lib/python2.7/site-packages/pip* ./
yum reinstall python-pip
sudo pip install django 

или попробуйте другое решение.

слишком рискованно, и это может быть не самым безопасным решением.работал нормально для меня.

  1. удалить пункт.

    pip uninstall pip
    

    , если вы установили get-pip.py .

     python -m pip uninstall pip setuptools
    
  2. перейдите к пути.

      /usr/lib/python2.7/site-packages/
    

    и найдите две директории pip pip и pip-6.0.8.dist-info.

  3. удалить оба pip и pip-6.0.8.dist-info .

  4. , затем повторите попытку.

     yum install python-pip
    

    или

    python get-pip.py
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...