linux下安装python及搭建Django项目初体验
网上有很多关于linux
下安装python
的教程,大多是自己下载安装包解压编译的一个过程,个人感觉这么繁琐的操作为什么不用包管理器?个人本地电脑使用的Deepin
,自带安装了python2
和python3
,但是玄乎的是没有安装pip3
,所以这里以本人系统为例说下如何使用包管理器apt-get
安装python3
和pip3
,红帽系统使用yum
,差不多的流程。
python3
安装
本人将程序安装在了/usr/bin
目录,作用是该目录已经加入到了环境变量,装好之后直接可以使用python3
命令做事
使用管理工具安装
1 | # 进入目录 |
安装好测试下自己python
版本
1 | python3 -V |
就这么简单的一行命令就完成了python3
的安装,看完这个你还会使用安装包自己解压编译来操作吗?
编译安装
某些特定时候还是需要使用编译安装
安装前准备
python
库依赖包,先安装,避免掉坑
1 | yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y |
下载安装包
1 | wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz |
configure
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:
1 | /usr/bin系统默认已加入环境变量,所以我们也直接把软件安装到这个目录 |
上面的意思是将该软件安装在 /usr
下面,执行文件就会安装在 /usr/bin
(而不是默认的 /usr/local/bin
),资源文件就会安装在 /usr/share
(而不是默认的/usr/local/share
)。
同时一些软件的配置文件你可以通过指定 --sys-config
= 参数进行设定。有一些软件还可以加上 --with
、--enable
、--without
、--disable
等等参数对编译加以控制,你可以通过允许 ./configure --help
察看详细的说明帮助。
make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl
或python
编写的软件需要调用perl
或python
来进行编译)。
如果 在 make
过程中出现 error
,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport
(一般在 INSTALL
里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
make
的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile
设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall
是卸载,不加参数就是默认的进行源代码编译。
make
是 Linux
开发套件里面自动化编译的一个控制程序,他通过借助 Makefile
里面编写的编译规范进行自动化的调用 gcc
、ld
以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile
控制代码,由 configure
这个设置脚本根据给定的参数和系统环境生成。
make install
这条命令来进行安装(当然有些软件需要先运行 make check
或 make test
来进行一些测试),这一步一般需要你有 root
权限(因为要向系统写入文件)
注:也可以直接使用 make && make install
进行编译安装
pip3
安装
开头说了,本人电脑没有安装pip3
,同样的流程我们来安装下pip3
管理包安装
1 | # 进入目录 |
安装好看下自己的python
包列表
1 | pip3 list |
pip3
到此安装完成
手动安装
下载安装包
1 | wget https://files.pythonhosted.org/packages/aa/1a/62fb0b95b1572c76dbc3cc31124a8b6866cbe9139eb7659ac7349457cf7c/pip-19.2.2.tar.gz |
解压
1 | tar -zxvf pip-19.2.2.tar.gz |
安装编译
1 | cd pip-19.2.2 |
测试
1 | [root@iZ11cz2tzxcZ pip-19.2.2]# pip3 -V |
完成!!!1
搭建Django
项目
安装Django
1 | pip3 install django |
pip3
默认安装新版本的Django
创建Django
项目
1 | # 进入网站目录 |
创建应用
1 | # 进入django项目 |
修改settings
ALLOWED_HOSTS
= [‘*’]
ALLOWED_HOSTS
的作用
ALLOWED_HOSTS
是为了限定请求中的host
值,以防止黑客构造包来发送请求。只有在列表中的host
才能访问。ALLOWED_HOSTS
后面所跟的属性值是一个字符串列表值,这个字符串列表值表示当下这个Django
站点可以提供的host/domain
(主机/域名)。这是一种安全措施,通过使用伪造的HTTP
主机标头提交请求来防止攻击者中毒缓存并触发带有恶意主机链接的密码重置电子邮件,即使在许多看似安全的Web
服务器配置下也是如此。
前景:本人有两台电脑(统一局域网),一台装的deepin
,一台windows
,本人要用windows
访问deepin
上搭建的django
项目,所以需要设施allowed_host
(使用虚拟机也要设置哟)。
运行项目
1 | python3 manage.py runserver 0.0.0.0:8000 |
默认django
运行的是127.0.0.1:8000
,我这里使用0.0.0.0
的作用是让我的window
主机也可以使用deepin
主机的ip
进行来访问
访问项目
在deepin
主机上访问项目地址:127.0.0.1:8000
在window
主机上访问项目地址:http://10.10.10.125:8000
都出现了
完美!!!