簡體   English   中英

從.deb和.tar.gz安裝Django的好處?

[英]Benefit of installing Django from .deb versus .tar.gz?

我正在開始Django開發,我可以使用.deb安裝它

$ apt-get install python-django

在我的Ubuntu機器上,或者我可以從djangoproject.com下載.tar.gz, 然后從那開始。

每種方法有哪些優點和缺點?

使用apt-get可讓您的系統跟蹤安裝(例如,如果您想要卸載,升級等,則可以延遲)。 從源代碼安裝( .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/

包管理員aptitude和apt-get適合自動更新那些你每天都不打算開發的軟件,比如媒體播放器,瀏覽器。 對於需要日常U代碼的東西,需要完全控制版本,你只能通過源代碼獲得。

使用apt-get,您可以通過包管理器獲得更好的卸載支持,並且還可以為您安裝依賴項。 如果使用apt-get進行安裝,則可能會獲得自動更新,這對於安全補丁非常有用。

使用tar,您可能會獲得更新的版本,您可能有機會定制編譯標志。 構建可以針對您的特定處理器進行更優化,但因為在這種情況下它的python無關緊要。

從您的Ubuntu存儲庫獲取Django可以獲得較舊的“穩定”版本。 這可能對您沒問題,但我相信大多數開發人員更喜歡堅持使用主干中的最新代碼來獲得更多功能。

恕我直言,最干凈的解決方案是不要安裝.tar.gz / SVN版本,使用簡單的sudo python setup.py install (或使用easy-install ),但要制作.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

這甚至沒有真正保證工作(我甚至不確定正確的包版本命名),但我自己嘗試過,它對我有用。

我總是使用開發版安裝。 (指令)

這使得更新變得非常簡單,並為您提供/ dev / docs中所有精彩的功能。 我建議你盡可能嘗試這條路線(如果有的話,它可以讓你了解網站包的工作原理)。

注意:ubuntu 9.04最近從site-packages(8.04)遷移到dist-packages使得這有點令人困惑,不得不重新創建鏈接。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM