[Django] Django(一) 环境搭建

1.安装Python和pip

安装python3.6:

sudo apt-get install python3.6
sudo apt-get install python3-pip

2. 安装virtualenv

virtualenv是一个创建隔离的python运行环境的工具,如果不同的应用程序需要依赖不同的版本,这时可以分别创建一个独立的虚拟环境,使两个应用程序之间互不影响。

$ pip3 install virtualenv

安装了virtualenv后,为每个项目创建一个隔离环境,创建工作目录,并初始化虚拟环境:

$ cd <workdir>
$ virtualenv -p python3.6 .py3env

或者

cd <workdir>
$ virtualenv .py3env

这样在<workdir>下会生成一个.py3env目录(该文件名随便).
参考资料:https://virtualenv.pypa.io/en/stable/installation/

3.安装 Apache 和 mod_wsgi

  • 安装Apache:
sudo apt-get install apache2
sudo apt-get install apache2-dev
  • mod_wsgi:
    mod_wsgi是Graham Dumpleton提供的Apache HTTP Server模块,它提供了一个用于在Apache下托管基于Python的Web应用程序的WSGI兼容接口。mod_wsgi有两种安装方式,第一种安装方式是作为一个Apache模块安装到现有的Apache安装中,这种方式安装,需要手动配置Apache去加载mod_wsgi,以及手动将web请求传入WSGI应用中。

    NOTE:
    1.这种方式使用configure, make , make install命令安装
    2.Windows环境下不支持这种安装方法


第二种安装方式是作为一个python 包,使用pip命令安装在现有的Python安装中,这种方式不需要进行配置,自动在python或虚拟环境中构建安装,适用于所有平台。 这里使用pip安装mod-wsgi:
pip3 install mod-wsgi
或者
sudo apt-get install libapache2-mod-wsgi-py3

Tips
启动apache:
sudo service apache2 start

5.安装mysql和mysqlclient

Django中内置了一个小型数据库:sqlite,此外Django还支持Oracle、PostgreSQL、MySQL等等。Django支持mysql5.5及以上版本。mysqlclient是Python数据库API用来操作MySQL数据库的驱动程序。

  • 安装mysql:
sudo apt-get install mysql-server
  • 安装mysqlclient:
pip3 install mysqlclient

如果安装失败,提示如下的原因:

OSError: mysql_config not found

需要安装依赖库:

sudo apt-get install libmysqlclient-dev python3-dev

再次安装即可。

4.安装django

建议在虚拟环境下安装Django,这是因为如果直接进行安装,由于不同的项目所需的版本和依赖可能不同,因此在开发项目时,不得不针对不同的项目进行一次又一次的重新安装。首先开启一个虚拟环境(已经创建的),比如创建的.py3env:

$ source ./.py3env/bin/active 

开启虚拟环境后,各个虚拟环境下的Django配置相互隔离互不影响,然后在当前虚拟化环境下安装Django:

pip install Django

查看Django版本:

python -m django --version

如果以上都安装完成,基本上Django所需的环境就配置完成了。

拓展:Apache和Tomcat区别

Apache和Tomcat是两个webserver,即HTTP服务器。
HTTP服务器本质上也是一种应用程序,通常运行在一台电脑上(物理服务器),绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(浏览器)就能够通过HTTP协议来获取服务器上的网页和其他资源。

Apache,是指Apache HTTP Server Project,其官网介绍如下:

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

Apache HTTP Server本身不支持生成动态页面,但它们可以通过其他模块来支持(例如通过Shell、PHP、Python脚本程序来动态生成内容).

Tomcat,是一个Servlet容器,内置了HTTPServer,因此也可以视为一个小型的web服务器,支持动态资源,比如在javaweb开发中,就经常使用Tomcat作为服务器,其官网介绍如下:

The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process.

参考资料:
https://pypi.python.org/pypi/mod_wsgi
https://en.wikipedia.org/wiki/Mod_wsgi#cite_note-Pypi,_mod_wsgi-2
http://modwsgi.readthedocs.io/en/develop/
http://modwsgi.readthedocs.io/en/develop/user-guides/quick-installation-guide.html

猜你喜欢

转载自blog.csdn.net/fightfightfight/article/details/79932845