如何在 ubuntu 9.04 上升级 django?

如何在 ubuntu 9.04 上升级 django?

我在 Ubuntu 9.04 上安装了 Django 1.0.2。我想升级 Django,因为我有一个应用程序需要 Django 1.1 或更高版本。我尝试使用 pip 进行升级,但出现以下问题:

$ sudo pip install Django==1.1
Downloading/unpacking Django==1.1
  Downloading Django-1.1.tar.gz (5.6Mb): 5.6Mb downloaded
  Running setup.py egg_info for package Django
Installing collected packages: Django
  Found existing installation: Django 1.0.2-final
    Not uninstalling Django at /var/lib/python-support/python2.6, outside environment /usr
  Running setup.py install for Django
    changing mode of build/scripts-2.6/django-admin.py from 644 to 755
    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed Django

它似乎起作用了,但是它拒绝删除原始的 Django 1.02,果然:

$ pip freeze | grep -i django
Django==1.0.2-final
django-debug-toolbar==0.8.3
django-sphinx==2.2.3
$ /usr/local/bin/django-admin.py --version
1.0.2 final

问题显然在于pip 不会卸载 /usr 之外的文件

我想手动删除现有的 Django 文件,但我不知道该怎么做,因为我不熟悉 Python 包在 Ubuntu 中的布局方式。这看起来相当复杂。

site-packages 目录是:

$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.6/dist-packages

但是,这不是 django 文件所在的位置:

$ ls -ld /usr/lib/python2.6/dist-packages/[Dd]jango*
ls: cannot access /usr/lib/python2.6/dist-packages/[Dd]jango*: No such file or directory

有一个/var/lib/python-support/python2.6/django目录,并且__init__.py该目录中的文件指向/usr/share/python-support/python-django/django/__init__.py

显然,pip 能够找出文件所在的位置。有没有办法检索与 django 包关联的文件列表,以便我可以手动删除它们?

答案1

做得有点晚了,因为 Django 1.2 已经推出了一段时间了,但我刚刚删除了旧的安装:

sudo apt-get remove python-django

然后使用以下命令安装新版本的 Django(当时为 1.2.3):

sudo easy_install django

答案2

进行所有需要的备份,然后我只需按照链接进行升级,我就可以开始工作了,我使用的是 centos 5.2django-upgrade

答案3

跑步

pip uninstall Dhango

然后

pip install Django==1.1

相关内容