我对Django一无所知,但我需要在OSX中运行现有项目。
在项目目录中,我运行python manage.py runserver
并收到错误:Error: No module named cms
。
似乎INSTALLED_APPS常量(在settings.py中)定义了所需的模块......但是如何安装dang东西呢?
是否有批量安装依赖项的标准方法(如Ruby的Bundler)?
答案 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”