2011-11-30 104 views
14

我對Django一無所知,但我需要獲得在OSX中運行的現有項目。如何安裝Python/Django模塊?

從項目的目錄我運行python manage.py runserver並得到錯誤:Error: No module named cms

似乎INSTALLED_APPS常量(在settings.py中)定義了所需的模塊......但我該如何安裝dang的東西?

是否有一種標準的批量安裝依賴關係的方式(如Ruby的Bundler)?

回答

21

如果存在requirements.txt文件,您可以一次安裝所有依賴關係!你只需要運行如下命令:

pip install -r requirements.txt 

否則,你可以安裝一個接一個:

pip install django-cms 

這裏是PIP文檔: http://pypi.python.org/pypi/pip

如果你是用紅寶石,你可以比較寶石創業板

2

那麼,一點谷歌搜索不會傷害你;)

您需要Python軟件包管理器,例如easy_install和pip。試試這個指南:

http://blog.praveengollakota.com/47430655

之後,你可以執行 「PIP安裝Django-CMS」

+0

謝謝。不管你信不信,谷歌沒有發現任何明顯的東西......你的鏈接非常有幫助,謝謝。 –

7

INSTALLED_APPS的條目是包裝標識。 Packages是構建Python模塊名稱空間的一種方式。

When importing a package, Python searches through the directories on sys.path looking for the package subdirectory.

因此,python有一些指定的地方去尋找軟件包。

要按名稱將軟件包安裝到系統的正確位置,可以下載一些python源代碼並運行setup.py腳本(通常由庫和應用程序提供)。

$ cd /tmp 
$ wget http://pypi.python.org/packages/source/p/pytz/pytz-2011n.tar.bz2 
$ tar xvfj pytz-2011n.tar.bz2 
$ cd pytz-2011n 
$ python setup.py install 

有,但是,快捷方式到這一點,即easy_install和它的繼任者pip。有了這些工具,安裝第三方包(或Django應用程序)的歸結爲:

$ pip install pytz 

或者,如果您使用系統默認的Python安裝:

$ sudo pip install pytz 

就是這樣。無論你想要什麼,你現在都可以使用這個庫。要檢查,如果正確安裝,只是嘗試在控制檯:

$ python 
Python 2.7.2 (default, Aug 20 2011, 05:03:24) 
... 
>>> import pytz # you would get an ImportError, if pytz could not be found 
>>> pytz.__version__ 
'2011n' 

現在爲簡便起見,(這個職位是非常長的話),讓我們假設pytz是一些第三方Django應用程序。你只會寫:

INSTALLED_APPS = (
    'pytz', 
) 

pytz將在您的項目中可用。

注:我你有時間,請看看Tools of the Modern Python Hacker: Virtualenv, Fabric and Pip博客文章,其中重點介紹了一些大蟒蛇基礎設施的工具。