2010-05-29 113 views
2

我想这是一个PATH/PYTHONPATH错误,但是我的尝试失败以至于使django无法正常工作。安装Django后出现错误(应该是PATH或PYTHONPATH“错误”)

系统为Ubuntu的10.04,64:

mx:~/webapps$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=10.04 
DISTRIB_CODENAME=lucid 
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS" 

Python版本:2.6.5:

@mx:~/webapps$ python -V 
Python 2.6.5 

当我运行django-admin.py,发生以下情况:

mx:~/webapps$ django-admin.py 
Traceback (most recent call last): 
    File "/usr/local/bin/django-admin.py", line 2, in <module> 
    from django.core import management 
ImportError: No module named django.core 

类似,当我在python shell中导入django时:

mx:~/webapps$ python 
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import django 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named django 
>>> quit() 

更多细节:

mx:~/webapps$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" 

/usr/lib/python2.6/dist-packages 

在蟒蛇壳:

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> print sys.path 
['', '/usr/lib/python2.6/dist-packages/django', '/usr/local/lib/python2.6/dist-packages/django/bin', '/usr/local/lib/python2.6/dist-packages/django', '/home/petra/webapps', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6'] 

django-admin.py可以在这里找到:

mx:~/webapps$ locate django-admin.py 
~/install/sources/Django-1.2.1/build/lib.linux-i686-2.6/django/bin/django-admin.py 
~/install/sources/Django-1.2.1/build/scripts-2.6/django-admin.py 
~/install/sources/Django-1.2.1/django/bin/django-admin.py 
/usr/local/bin/django-admin.py 
/usr/local/lib/python2.6/dist-packages/django/bin/django-admin.py 
/usr/local/lib/python2.6/dist-packages/django/bin/django-admin.pyc 

,并在最后这并未”帮助:

export PYTHONPATH="/usr/lib/python2.6/dist-packages/django:$PYTHONPATH" 

也不是这:

export PYTHONPATH="/usr/local/lib/python2.6/dist-packages/django:$PYTHONPATH" 

如何解决这个!?

非常感谢! :)

回答

0

在CLI中花费数小时后:)我终于找到了解决方案。 django-admin.py无法执行的原因是/ usr/local/lib目录的访问权限,实际上缺少所有者的执行权限。

所以,一:sudo chmod 711 /usr/local/lib解决了django-admin。py执行问题永远:)

2

你的Python路径似乎被搞砸了。

如果要在Python中导入module,那么通向模块的路径必须位于sys.path中。例如,如果你想导入位于一个模块在

/long/path/to/module 

,那么你必须在sys.path

/long/path/to 

,并/long/path/to/module

既然你的Django安装,似乎安装在/usr/local/lib/python2.6/dist-packages,那么下面应该解决您的问题:

export PYTHONPATH="/usr/local/lib/python2.6/dist-packages:$PYTHONPATH" 

这并不能解释为什么你没有在sys.path首先这条道路,虽然...

+0

不幸的是,没有,它没有帮助... – illuminated 2010-05-29 21:55:27

+0

我有一个错字。我修正了它,并添加了为什么我认为这应该起作用的解释。 – 2010-05-30 07:06:17

+0

它对我的作品...“”/usr/local/lib/python2.7/dist-packages:$PYTHONPATH“”thankx man – 2015-11-03 12:36:33