从.deb文件名为.tar.gz与安装Django的效益?
题
我开始Django开发,我可以从使用的.deb安装它
$ apt-get install python-django
我的Ubuntu的机器上,或者我可以从 djangoproject.com 的.tar.gz和与开始
有什么好处和每一种方法的缺点?
解决方案
使用apt-get
让您的系统保持跟踪的安装(例如,如果你想disinstall,升级等,晚期)。从源(.tar.gz
或以其他方式)安装让你负责什么是什么,在哪里 - 你可以安装在不同地点,等多个版本,但没有简单的“卸载”等。我个人比较喜欢通过我的操作系统支持的方法(apt-get
等)的包,我认为作为次要或辅助安装,直接从SVN / HG /&C对于那些我参与或以其他方式想保持最接近的控制,并.tar.gz
(或更好的可用的时.tar.bz2
;-)“快照”和“源释放”是S /其中在中间...
其他提示
安装的最好方法是检查出你想要的代码,其中有史以来变更(分支/标签),并定义一个符号链接到它
结帐你想要的版本:
# 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/
在包管理资质和apt-get是良好的自动更新那些你并不真正理会天天发展,如媒体播放器,浏览器软件。对于日常的东西ü代码,需要版本的完全控制,你会得到,只有源。
使用apt-get的,你会通过包管理器获得更好的卸载支持,它也可以安装依赖你。如果你有安装apt-get的你可能会得到自动更新,这是非常好的安全补丁。
随着焦油,你可能会得到一个新的版本,你可能会得到机会来调整编译标志。一次构建可能是您的特定的处理器更加优化,但因为它是蟒蛇并不在这种情况下,无所谓。
从你的Ubuntu版本库中获取的Django给你旧的“稳定”版本。这可能是罚款与你,但我相信大多数开发人员喜欢在树干以获得更多的功能,可用最新的代码粘贴。
IMHO最清洁的解决方案是不安装名为.tar.gz / SVN版本简单sudo python setup.py install
(或使用easy-install
),但使一个.deb包。这样,你应该得到最大的实惠:你要2)适当的Debian / Ubuntu的软件包,你可能很容易卸载,升级和部署到任意数量的Debian机器1)所有最前沿的功能
下面是一个快速和肮脏的方式如何做到这一点:
#
# 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
这是不是就算真的guarranteed工作(而我甚至约适当软件包的版本命名真的确定),但我从来没有尝试过自己,它为我工作。
我一直使用的开发版本安装。 (说明书)
这使得更新非常简单,让您在/ dev /文档的所有花哨的功能。我建议你去试试如果可能,这条路线(如果有的话它给你的站点包是如何工作的想法)。
请注意:从站点包Ubuntu 9.04的近期举动的dist-包(8.04),使这个有点混乱,只好重新链接
我知道Debian的,可能有一些其他的发行版,在包管理器的Django的版本是0.9的分支,而不是1.X分支。肯定是你希望避免的。