我正在尝试让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
错误。
有人有什么想法吗?
答案 0 :(得分:2)
可能的原因是stdlib functools
模块的影响。主脚本(functools.py
)旁边有manage.py
吗?查看import functools; print functools.__file__
打印内部manage.py
(之前任何其他导入。)如果它不打印/usr/local/lib/python2.6/functools.py
,可能会有一个文件影响标准图书馆模块。如果 打印出来,那该文件有问题,尽管重新安装。
答案 1 :(得分:0)
这个解决方案对我有用。
mv /usr/lib/python2.7/site-packages/pip* ./
yum reinstall python-pip
sudo pip install django
或尝试其他解决方案。
风险太大,这可能不是最安全的解决方案。但它对我来说很好。
卸载点。
pip uninstall pip
如果您通过 get-pip.py 安装。
python -m pip uninstall pip setuptools
导航到路径。
/usr/lib/python2.7/site-packages/
找出两个pip目录 pip 和 pip-6.0.8.dist-info 。
同时删除点和 pip-6.0.8.dist-info 。
然后再试一次。
yum install python-pip
或
python get-pip.py