如何安装Python / Django模块?

时间:2011-11-30 23:37:44

标签: python django

我对Django一无所知,但我需要在OSX中运行现有项目。

在项目目录中,我运行python manage.py runserver并收到错误:Error: No module named cms

似乎INSTALLED_APPS常量(在settings.py中)定义了所需的模块......但是如何安装dang东西呢?

是否有批量安装依赖项的标准方法(如Ruby的Bundler)?

3 个答案:

答案 0 :(得分:23)

如果有requirements.txt文件,您可以一次安装所有依赖项!你只需要运行以下命令:

pip install -r requirements.txt

否则你可以逐个安装:

pip install django-cms

以下是PIP文档: http://pypi.python.org/pypi/pip

如果你习惯了ruby,你可以比较ruby GEM

答案 1 :(得分:7)

INSTALLED_APPS中的条目是包名称。 Packages是构建Python模块命名空间的一种方式。

  

导入包时,Python会搜索sys.path上的目录,查找包子目录。

所以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博文,其中重点介绍了一些优秀的python基础架构工具。

答案 2 :(得分:1)

嗯,有点谷歌搜索不会伤害你;)

您需要一个Python包管理器,例如easy_install和pip。试试本指南:

http://blog.praveengollakota.com/47430655

之后,您可以执行“pip install django-cms”