开始建立!Tango使用Django,你需要确保你有你需要安装在您的计算机上的一切,你对你的开发环境有充分的了解。本章将引导您完成你所需要的,哪些是你需要知道的。
对于本教程,您需要以下关键的软件。
- ython version 2.7.5+
- Django version 1.7
- 一个快速的教程,Stavros的10分钟学习python, http://www.korokithakis.net/tutorials/python/
- Python的官方教程 http://docs.python.org/2/tutorial/
- 书籍: Allen B. Downey的《Python的思考:如何看待一个计算机科学家》http://www.greenteapress.com/thinkpython/
- 在线课程: https://www.coursera.org/course/programming1
使用终端
提供的操作系统为了配置您的环境学习如何使用命令行解释器(CLI)是非常重要的。通过本教程中,你将与CLI常规交互。如果你已经熟悉使用命令行界面,您可以直接跳至Installing the Software部分。
基于unix的操作系统都使用了相似终端。后代,衍生物和UNIX的克隆,包括苹果的OS X和许多可用的Linux发行上市。所有这些操作系统包含一组核心的命令帮助你浏览文件系统和启动程序,不需要任何图形界面。本节你应该熟悉键盘命令。
注意:
本教程的重点是对基于UNIX或UNIX衍生操作系统的用户。虽然Python和Django的可以在基于Windows的环境中运行,许多我们在本书中使用的命令是基于UNIX的终端。这些命令可以然而,在Windows中使用的图形用户界面,在Windows命令提示符下使用相关命令,或使用Windows PowerShell提供像类似于UNIX终端的命令行复制。
当启动一个新的终端实例,你通常会看到类似:
sibu:~ leif$
这就是所谓的提示,表示当系统等待执行你的每一个命令。根据您所使用的操作系统,你看到提示各不相同,但都长得一般非常相似。在上面的例子中,有三个关键信息来观察:
- 你的用户名和计算机名(leif的用户名和sibu的计算机名)
- 你的当前工作目录(波浪线,~)
- 您的用户帐户的权限(dollar标识$)
美元符号($
)通常表明用户是一个标准的用户帐户。相反,一个散列符号(#
)可以用来表示用户登录根特权。任何符号是目前用于表示计算机正在等待您的输入。
打开一个终端窗口,看看你的提示是什么样子的。
当你使用终端时,重要的是要知道你是在文件系统中的什么位置。要找出你在哪里,你可以发出命令pwd。这将显示您当前的工作目录。例如,检查下面的例子终端的交互。
Last login: Mon Sep 23 11:35:44 on ttys003
sibu:~ leif$ pwd
/Users/leif
sibu:~ leif$
您可以看到,在这个例子中当前的工作目录是:`/Users/leif` 您还会注意到,提示表明我现在的工作目录是`~`。这是由于波浪号(`~`)代表您的主目录。在任何基于UNIX的文件系统的基本目录是根目录。根目录的路径是用一个正斜杠(/)。 如果你不是在你的主目录下可以改变目录(cd)到您的主目录通过发出以下命令。
$ cd ~
让我们创建一个名为`code`的目录。因此,使用使目录命令(`mkdir`),如下所示。
$ mkdir code
要移动到新创建的`code`目录下,输入`cd code`。如果你检查你当前的工作目录,你会发现你会在`〜/code/`。这也可能反映在你的提示。注意在下面的例子中,当前的工作目录打印后`sibu`的计算机名称。 >注意: >每当我们提到,我们将参考你的code目录。
sibu:~ leif$ mkdir code
sibu:~ leif$ cd code
sibu:code leif$
sibu:code leif$ pwd
/Users/leif/code
在目录中列出所有文件,你可以发出的命令`ls`。您还可以看到隐藏的文件或目录-如果您有任何-你可以命令`ls -a`,`a`表示`all`。如果你`cd`回到您的主目录(`cd ~`)然后发出`ls`,你会发现你的主目录中有名为`code`存在。 要了解多一点关于什么是您的目录中,发出`ls -l`命令。这将提供文件的更详细的列表以及它是否是一个目录或不是(行开始用`d`表示)。
sibu:~ leif$ cd ~
sibu:~ leif$ ls -l
drwxr-xr-x 36 leif staff 1224 23 Sep 10:42 code
输出还包含相关联的目录中的权限的信息,谁创建(`leif`)、组(`staff`)、尺寸、文件在被修改的日期/时间、名称。 您可能还会发现它能够对用户终端中编辑文件很有用。许多编辑器,你可以使用 - 其中有些可能已经在您的计算机上安装。[nano](http://www.nano-editor.org/)编辑的例子是一个简单的编辑器——不像[vi](http://en.wikipedia.org/wiki/Vi)需要花一些时间去学习。以下是常用的UNIX命令的列表,你会发现有用的。 ## 核心命令 所有基于UNIX的操作系统,配备了一系列的内置命令 - 与大多数只专注于文件管理。您将使用最频繁的命令列表如下,每个与他们做一个简短的说明,以及如何使用它们。
- pwd: 在终端显示你当前的工作目录。显示你当前的完整目录路径。
- ls: 在终端显示你当前工作目录下的文件。默认情况下,你无法看到文件的大小-可以通过在ls后面附加-lh,输入命令ls -lh。
- cd: 结合路径,允许你改变你的当前工作目录。例如,命令cd /home/leif/ 改变当前工作目录到/home/leif/。你也可以向上移动一个目录级别无需提供绝对路径通过使用两个点,如 cd ..
- cp: 拷贝文件或目录。你必须提供源文件和目标文件。例如,在同一目录下复制文件input.py,你可以输入命令cp input.py input_backup.py。
- mv: 移动文件或目录。像cp,你必须提供源和目标文件。这个命令一般用于重命名文件。例如,重命名number.txt为letters.txt,发出命令mv number.txt letters.txt。移动文件到不同的目录下,你可以输入目标的绝对路径或者相对路径, mv number.txt /home/david/numbers.txt。
- mkdir: 在当前工作目录下创建新目录。你需要在mkdir命令后面提供一个新目录的名称。例如,如果你当前工作目录是/home/david/,需要运行mkdir music,你将有一个目录/home/david/music/。然后,您将需要cd到新创建的目录来访问它。
- rm: remove的简称,这个命令从你的文件系统中清除或着删除文件。如果你想清除则你必须提供文件名称。在发出一个rm命令,系统将提示您如果您希望删除选定的文件(s)。你也可以使用递归删除目录切换。小心这个命令恢复删除文件——是非常困难的,如果不是不可能的!
- rmdir: 另一个命令从您的文件系统删除目录。提供您想删除一个目录。再次,要小心:你会不会被提示确认您的意图。
- sudo: 一个程序,它允许您运行与另一用户的安全权限的命令。通常情况下,该程序用来运行其它程序root - 任何基于UNIX或UNIX衍生操作系统的超级用户。
- 下载.dmg文件,在Finder中双击它;
- 该文件挂载作为一个单独的磁盘和一个新的Finder窗口呈现给您;
- 双击文件Python.mpkg,然后开始Python安装;
- 你准备的软件继续通过各种屏幕安装。你可能需要提供你的密码确认您想要安装的软件;
- 完成后,关闭安装程序和退出Python磁盘。现在,您可以删除下载的.dmg文件。
- 打开一个新终端实例;
- 执行命令`curl -kL http://xrl.us/pythonbrewinstall | bash` 。 下载安装并运行在你的终端中。这个pythonbrew安装目录`~ / .pythonbrew `。记住。`~`表示你的主目录。
- 你需要编辑`~/.bashrc`文件。文件编辑器(如`gedit`、`nano`、`vi`、`emacs`),在`~/.bashrc`的最后一行后面新添加一行`[[ -s HOME/.pythonbrew/etc/bashrc ]] && sourceHOME/.pythonbrew/etc/bashrc`
- 然后保存更新`~/.bashrc`文件。关闭你的终端并打开新的一个终端窗口。这允许你更改生效。
- 运行命令`pythonbrew install 2.7.5`安装Python2.7.5。
- 你需要切换Python2.7.5来激活Python安装。执行命令`pythonbrew switch 2.7.5`。
- Python 2.7.5现在应该安装和准备好了。
注释
目录和文件用句点或点开始可以被认为是隐藏文件在Windows中的等价物。点文件通常不可见的目录,浏览工具,并且通常用于配置文件。您可以使用ls命令通过添加-a切换到命令的末尾,给命令ls-a
查看隐藏文件。
Windows
默认情况下,Microsoft Windows没有安装Python。这意味着,你不必担心离开现有的版本中;从头开始安装应该很好地工作。您可以从Python官方网站下载64位或32位版本的Python。如果你不知道哪一个下载,你可以决定,如果你的电脑是32位或64位通过查看所提供的微软网站上的说明。
- 当安装程序下载,打开下载的文件的位置;
- 按照屏幕上的提示安装Python;
- 安装程序完成后关闭,删除下载的文件。
一旦安装完成,你应该有一个Python的工作版本准备就绪。默认情况下,Python的2.7.5安装文件夹C:\Python27
。我们建议把它作为保留路径。
安装完成后,打开一个命令提示符并输入python
命令。如果你看到Python提示,安装成功。然而,在某些情况下,安装程序可能不会将你的Windows安装正确的PATH
环境变量。这将导致python
命令未被发现。在Windows 7,你可以纠正这一点通过执行以下:
- 单击开始按钮,右击我的电脑,选择属性;
- 单击高级选项卡;
- 点击“环境变量”按钮;
- 在系统变量列表中,找到该变量称为Path,单击它,然后单击 Edit按钮
- 结束的时候,输入;C:\python27;C:\python27 \脚本。不要忘记分号,确定不添加一个空格;
- 在每个窗口中单击OK保存您的更改
- 关闭任何命令提示符的情况下,打开一个新实例,尝试再次运行python命令。
这应该让您的Python安装完全工作。Windows XP,稍微不同的指令,Windows 8 installationsthis也是如此。
配置PYTHONPATH
现在安装了Python,我们需要确认安装成功。要做到这一点,我们需要检查到PYTHONPATH
环境变量是否设置正确。PYTHONPATH
环境为Python解释器提供额外的Python包和模块的位置添加额外的功能基本的Python安装。没有正确设置PYTHONPATH
环境,我们将无法安装和使用Django !
首先,让我们验证PYTHONPATH
环境变量的存在。根据您选择的安装方法,这可能会或可能不会已经为你做。基于unix的操作系统上,在一个终端发出以下命令。
$ echo $PYTHONPATH
在基于Windows的计算机上,打开命令提示符,然后发出以下。
$ echo %PYTHONPATH%
如果所有的作品,然后你应该看到输出看起来类似于下面的例子。在基于Windows的计算机,你会明显看到一个Windows路径,最有可能从C盘发起。
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:
这是指向你的Python安装的site-packages
目录,其中附加的Python包和模块的存储位置。如果你看到一条路径,你可以继续本教程的下一个部分。但是,如果你看不到任何东西,你需要做的工作是一点点地找出路径。在Windows安装,这应该是一个简单的练习:site-packages
位于你的Python安装目录下的lib
文件夹中。例如,如果你的Python安装路径为C:\Python27
, site-packages
会在C:\Python27\Lib\site-packages\
。
基于UNIX的操作系统,需要花费一点工作去找到你的site-package
的安装路径。要做到这一点,启动了Python解释器。以下终端会话演示了你应该发出的命令。
$ python
Python 2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import site
>>> print site.getsitepackages()[0]
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'
>>> quit()
调用site.getsitepackages()
返回一个指向额外的Python包和模块存储的路径列表。
第一个通常会返回的路径site-packages
目录 - 不断变化的根据您的安装可能需要在列表索引位置。如果你收到一个错误,指出getsitepackages()
不存在在这个site
模块中,验证你运行Python的正确版本。版本2.7.5应该包括这个功能。以前版本的语言不包括此功能。
执行site.getsitepackages()[0]
显示结果的字符串是你安装的site-package
目录的路径。获得的路径,我们现在需要将其添加到您的配置。在基于UNIX或UNIX衍生操作系统,再次编辑您的.bashrc
文件,添加以下到文件底部。
export PYTHONPATH=$PYTHONPATH:<PATH_TO_SITE-PACKAGES>
用你的site-package
目录的路径替换<PATH_TO_SITE-PACKAGES>
。保存文件,并退出和再次重新打开终端实例。
在基于Windows的计算机上,你必须按照部分显示的指令,弹出环境变量设置对话框。添加PYTHONPATH
变量的值被设置为你的site-package
文件夹,通常是C:\Python27\Lib\site-package\
。
使用Setuptools和Pip
安装和配置您的开发环境是任何项目的一个非常重要的组成部分。虽然可以单独安装Django等Python包,这可能会导致大量的问题和麻烦。例如,你将如何与其他开发人员共享您的配置?你将如何在新机器上配置相同的环境吗?你如何升级到最新版本的包吗?使用包管理器清除的大部分麻烦参与建立和配置您的环境。它还将确保您安装包和使用是正确的Python版本,随着安装任何其他包依赖于您想要安装的。
在这本书中,我们将使用Pip。Pip是一个用户友好的封装在Setuptools Python包管理器。由于Pip依赖于setuptools的,我们必须确保这两个都安装在您的计算机上。
首先,我们应该从Python包的官方网站下载Setuptools 。你可以下载压缩在.tar.gz
文件的包。使用你最喜欢的文件提取程序,提取文件。他们都应该出现在一个目录setuptools-1.1.6
-其中1.1.6
代表Setuptools的版本号。在终端实例中,那么你可以换入目录并执行脚本ez_setup.py
如下图所示。
$ cd setuptools-1.1.6
$ sudo python ez_setup.py
在上面的示例中,我们也使用sudo
允许成为整个系统权限。第二个命令是安装Setuptools。确认安装成功,您应该能够看到类似如下所示的输出。
Finished processing dependencies for setuptools==1.1.6
当然,1.1.6替换为你安装Setuptools的版本。如果你看到这一行,你就可以继续安装Pip。这是一个简单的过程,可以用一个简单的命令完成。从你的终端,输入以下。
$ sudo easy_install pip
这个命令应该下载并安装Pip,再与系统访问。你应该可以看到如下输出,验证Pip已经成功安装。
Finished processing dependencies for pip
看到这个输出,您应该能够从您的终端启动Pip。启动Pip,只需要输入pip
。相反,不可识别的命令错误,你应该看到的命令和开关Pip接受的列表。如果你看到这一点,你已经准备好继续前进!
注释
与基于windows电脑,遵循相同的基本流程。然而,你不需要输入sudo
命令。
Django 安装
一旦Python包管理器Pip成功安装到您的计算机上,安装Django是容易的。打开一个命令提示符或终端窗口,并发出以下命令。
$ pip install -U django==1.7
如果您使用的是基于UNIX的操作系统,并接收有关权限不足的抱怨,你将需要运行使用sudo
命令提升权限的命令。如果是这样的话,则必须运行以下命令。
$ sudo pip install -U django==1.7
包管理器将Django下载并安装在正确的位置。完成后,应该成功安装Django。请注意,如果你不包括==1.7
,则不同版本的Django可以安装。
安装Python图像库
构建Rango的过程中,我们将上传和处理图像。这意味着我们将需要Pillow(Python成像库)的支持。发出以下命令安装这个包。
$ pip install pillow
如果需要再次使用sudo
。
安装其他Python库
值得注意的是,额外的Python包可以很容易地下载使用相同的方式。Python包索引提供了一个清单可以通过Pip的所有包。
您可以运行下面的命令查看要安装的包的列表。
$ pip list
共享包列表
你也可以安装的包的列表的格式,可以与其他开发人员共享。为此发出以下命令。
$ pip freeze > requirements.txt
如果您检查requirements.txt
使用命令more
,less
或cat
,你会看到同样的信息,但是有稍微不同的格式。然后,requirements.txt
可以使用以下命令来安装相同的设置。这对于设置环境在另一台计算机,非常有用的。
$ pip install -r requirements.txt
集成开发环境
虽然不是绝对必要的,一个好的基于python集成开发环境(IDE)可以在开发过程中是非常有用的。一些存在,也许JetBrains公司’* PyCharm*和PyDev(Eclipse IDE的一个插件)脱颖而出为流行的选择。Python维基提供了一个最新的Python IDE的列表。
研究哪一个更适合你,要知道,有些可能需要您购买许可证。理想情况下,你要选择一个IDE支持与Django的集成。PyCharm和PyDev中都支持Django的集成开箱即用 - 虽然你必须将IDE指向的Python,你正在使用的版本。
虚拟环境
我们几乎所有的设置去!然而,在我们继续之前,它值得指出的是,虽然这种配置是好的,但是也有一些缺点。如果你有一个需要一个不同的版本运行其他Python应用程序?或者你想切换到新版本的Django,但仍想保持1.7 Django项目吗?
解决方案是使用虚拟环境。虚拟环境允许Python和其相关的软件包多次安装的和谐存在。这是现在公认的方法来配置一个Python安装。
他们很容易设置,一旦你安装了Pip,你知道正确的命令。您需要安装两个额外的软件包。
$ pip install virtualenv
$ pip install virtualenvwrapper
第一个包为您提供了创建虚拟环境的基础设施。
看到一个非魔法介绍了Pip和VIRTUALENV
为Python初学者由杰米·马修斯有关使用的virtualenv的详细信息。然而,仅使用virtualenv本身是相当复杂的。第二包提供了一个封装在virtualenv包的功能,使生活变得更加简单。
如果您使用的是基于linux / unix操作系统,然后使用封装你需要调用从命令行shell脚本如下:
$ source virtualenvwrapper.sh
有一个好主意就是将它添加到您的bash/profile
脚本中。所以,你没有必要每一次运行都使用virtualenvironments。
然而,如果您使用的是windows,那么安装virtualenvwrapper-win包:
$ pip install virtualenvwrapper-win
现在你应该准备好创建一个虚拟的环境:
$ mkvirtualenv rango
你可以用lsvirtualenv
列表创建的虚拟环境,你可以激活虚拟环境如下:
$ workon rango
(rango)$
你的提示将显示变化和当前的虚拟环境,例如 rango。现在在这个环境中您可以安装的所有包你喜欢,与你的标准或其他environements没有干涉。尝试pip-list
,看看你没有的Django或Pillow安装在您的虚拟环境。你现在可以使用pip安装它们,这样它们存在于你的虚拟环境。
后面我们去部署应用程序时,我们将经历类似的过程看到章Deploying your Application和设置PythonAnywhere虚拟环境。
代码库
我们还应该指出的是,当你开发的代码,你应该总是一个版本控制库中的存储你的代码如SVN或GIT。现在我们不会经历这个,我们可以停留在Django应用程序开发。我们有提供GIT的速成课。我们强烈建议您为您自己的项目设置GIT存储库。这样做可以节省你的灾难。
练习
熟悉你的环境,试试下面的练习。
- 安装Python2.7.5和Pip
- 使用CLI并创建一个名为code的目录,后面在此目录下创建我们的项目
- 安装Django和Pillow包
- 配置虚拟环境
- 设置GitHub账户
- 下载和配置IDE(像PyCharm)
- 我们书的代码和你建立GitHub上可用的应用程序, Tango With Django Book 和 Rango Application
- 如果你发现书的任何错误或问题,你可以做一个变更请求
- 练习,如果你有任何问题你可以下载存储库,看看我们如何完成它们。
- 如果你发现书的任何错误或问题,你可以做一个变更请求
原文: http://www.tangowithdjango.com/book17/chapters/requirements.html