从.deb和.tar.gz安装Django的好处?

时间:2009-06-03 05:50:43

标签: python django ubuntu apt-get

我正在开始Django开发,我可以使用

从.deb安装它
$ apt-get install python-django

在我的Ubuntu机器上,或者我可以从djangoproject.com下载.tar.gz,然后从那开始。

每种方法有哪些优点和缺点?

6 个答案:

答案 0 :(得分:8)

使用apt-get可以让您的系统跟踪安装情况(例如,如果您想要卸载,升级等,则可以延迟)。从源代码(.tar.gz或其他方式)进行安装会让您掌控什么是什么以及在哪里 - 您可以在不同的位置安装多个版本等,但是没有简单的“卸载”之类的东西。就我个人而言,我更喜欢通过我的操作系统支持的方法(apt-get等)来安装我认为是辅助或辅助的软件包,直接来自svn / hg /& c,用于那些我正在贡献或者想要保留的软件包最接近的控制,.tar.gz(或更好的可用.tar.bz2 ;-)“快照”和“源版本”是s /在中间...

答案 1 :(得分:6)

安装的最佳方法是检查代码,这是您想要的变更集(分支/标记),并定义一个符号链接

签出您想要的版本:

# For trunk
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk   
# For a tag, 1.02 release
svn co http://code.djangoproject.com/svn/django/tag/1.02 django-1.02
# To update the trunk
cd django-trunk
svn up

然后定义符号链接

ln -fs /usr/lib/python2.5/site-packages/django/* ~/django-1.02/

如果您想在最新版本中测试您的代码,只需重新定义符号链接:

ln -fs /usr/lib/python2.5/site-packages/django/* ~/django-trunk/

软件包管理员aptitude和apt-get适合自动更新那些你每天都不打算开发的软件,比如媒体播放器,浏览器。对于需要日常U代码的东西,需要完全控制版本,只能通过源代码获得。

答案 2 :(得分:4)

使用apt-get,您可以通过软件包管理器获得更好的卸载支持,并且还可以为您安装依赖项。如果使用apt-get进行安装,则可能会获得自动更新,这对于安全补丁非常有用。

使用tar,您可能会获得更新的版本,您可能有机会定制编译标志。构建可以针对您的特定处理器进行更优化,但因为在这种情况下它的python无关紧要。

答案 3 :(得分:1)

从您的Ubuntu存储库中获取Django可以获得较旧的“稳定”版本。这可能对您没问题,但我相信大多数开发人员更喜欢坚持使用主干中的最新代码来获得更多功能。

恕我直言,最干净的解决方案是不要安装带有简单sudo python setup.py install(或使用easy-install)的.tar.gz / SVN版本,而是制作.deb软件包。这样你就可以获得最大的好处:1)你想要的所有前沿功能2)正确的Debian / Ubuntu软件包,你可以轻松卸载,升级和部署到任意数量的Debian机器。

这是一个快速而又脏的方法:

#
# This is dirty (you have been warned) way to quickly
# make new Django .deb package from SVN trunk for personal use.
#
apt-get source python-django
apt-get build-dep python-django
svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk
DJANGO_SVN_REVISION=`LC_ALL=C svn info django-trunk \
                     | grep ^Revision: | awk '{ print $2 }'`
cp -R python-django-*/debian django-trunk/
cd django-trunk
dch --newversion=1.1-1ubuntu1~svn${DJANGO_SVN_REVISION} \
    "Non-maintainer quick-and-dirty update to SVN r${DJANGO_SVN_REVISION}"
dpkg-buildpackage
# Have a good sip of tea, coffee or whatever you prefer.
# Because of tests, this is going to take quite a while.
# You may consider disabling (this is bad!) tests by commenting out
# line mentioning "runtests.py" in debian/rules.
cd ..
dpkg -i python-django_*.deb

这甚至没有真正保证工作(我甚至不确定正确的包版本命名),但我自己尝试过,它对我有用。

答案 4 :(得分:0)

我一直使用开发版安装。 (Instructions)

这使得更新非常简单,并为您提供/ dev / docs中所有精彩的功能。我建议你尽可能尝试这条路线(如果有的话,它可以让你了解网站包的工作方式)。

注意:ubuntu 9.04最近从site-packages(8.04)迁移到dist-packages使得这有点令人困惑,不得不重新创建链接。

答案 5 :(得分:0)

我知道debian和其他一些发行版,包管理器中的django版本是0.9分支,而不是1.X分支。绝对是你想要避免的东西。