一、下载python3的源码包html
下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgzpython
cd /opt 进入/opt目录,通常安装的软件都放在此目录下 [root@localhost opt]# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
下载完成,以下图:linux
二、安装python前的库环境,很是重要sql
安装python3以前,解决环境依赖,提早安装好这些软件包,往后就不会出现不少坑。django
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
三、解压缩源码包vim
下载好python3源码包以后,解压缩windows
[root@localhost opt]# tar -xvf Python-3.6.2.tgz
完成后查看,以下:centos
进入Python-3.6.2目录浏览器
[root@localhost opt]# cd Python-3.6.2
四、编译且安装bash
1)释放编译文件makefile,这个makefile就是用来编译安装的,为下一步的编译作准备,能够经过在 configure 后加上参数来对安装进行控制
[root@localhost Python-3.6.2]# ./configure --prefix=/opt/python36/
上条命令的意思是将该软件安装在 /opt/python36/ 下面,执行文件会安装在 /opt/python36/bin(而不是默认的/usr/local/bin),资源文件就会安装在 /opt/python36/share(而不是默认的/usr/local/share)。
同时一些软件的配置文件你能够经过指定 --sys-config= 参数进行设定。有一些软件还能够加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你能够经过容许 ./configure --help 察看详细的说明帮助。
上条命令执行结果产生了Makefile文件,以下图:
2)make
[root@localhost Python-3.6.2]# make
这一步就是编译,大多数的源代码包都通过这一步进行编译.
make 的做用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,好比 make install 通常表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,他经过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些须要的程序进行编译。通常状况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
3)make install(在这一步,会生成/opt/python36)
[root@localhost Python-3.6.2]# make install
这条命令来进行安装(固然有些软件须要先运行 make check 或 make test来进行一些测试),这一步通常须要你有 root 权限(由于要向系统写入文件)。
上述3步完成后,/opt/python36/bin目录下就有了python3.6和pip3.6,以下:
五、配置python3.6的环境变量
[root@localhost ~]# echo $PATH 查看环境变量
在上面的输出结果(假设为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)之上加入路径/opt/python36/bin,再从新赋给变量PATH,即
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
这个变量赋值操做,只是临时生效,须要写入到/etc/profile文件,才能永久生效
[root@localhost ~]# vi /etc/profile
在文件最后写入
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
保存退出
[root@localhost ~]# source /etc/profile 读文件,使得环境变量生效
注意:也能够经过配置软连接代替此过程,可是上述过程较好,所以软连接方法不做过多介绍。
六、在linux上开启一个django项目
1)下载django
[root@localhost ~]# pip3 install django [root@localhost ~]# pip3 list 查看有哪些python包
2)建立django项目(注意所在目录,会在命令执行时的目录下生成项目)
[root@localhost opt]# django-admin startproject mysite
3)建立应用app01
[root@localhost opt]# cd mysite [root@localhost mysite]# python manage.py startapp app01
4)编写视图函数
5)修改配置文件settings.py的ALLOW_HOSTS参数
[root@localhost mysite]# vi ./mysite/settings.py 将settings.py中的ALLOW_HOSTS=[] 改成 ALLOW_HOSTS=['*']
6)开启django服务器
[root@localhost mysite]# python manage.py runserver 0.0.0.0:8000
此时,打开windows浏览器,输入服务器的ip(服务器对外ip,而非上面的0.0.0.0)和端口号8000便可访问django项目。
七、yum工具注意事项
若是你用yum命令,提示yum进程被锁定,没法使用时能够经过命令
ps -ef|grep yum 查看yum进程
有结果则表示另外一个进程也在用yum,而yum只能有一个进程同时使用
在使用 Python 开发的过程当中,工程一多,不免会碰到不一样的工程依赖不一样版本库的问题;或者是在开发过程当中不想让物理环境里充斥各类各样的库,引起将来的依赖灾难。此时,咱们须要对于不一样的工程使用不一样的虚拟环境来保持开发环境以及宿主环境的清洁。
这里,就要隆重介绍 virtualenv,一个能够帮助咱们管理不一样 Python 环境的绝好工具。
virtualenv 能够在系统中创建多个不一样而且相互不干扰的虚拟环境。virtualenv 就是一个虚拟解释器,是基于物理环境下的python解释器虚拟/分身出的解释器 。
一、经过物理环境的pip下载virtualenv工具
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
参数 -i 指定清华源下载pip的包,下载后linux中就多了一个virtualenv命令,以下:
二、建立一个虚拟环境
[root@localhost opt]# virtualenv --no-site-packages --python=python3 s15venv1
参数解释:
--no-site-packages 这是构建干净,隔离的模块
--python=python3 这个参数是指定虚拟环境以哪个物理解释器为基础的
s15venv1 这个是一个是虚拟环境的名字,当前目录下会建立这么一个文件夹
三、进入虚拟环境目录,激活虚拟环境
找到虚拟环境目录下bin目录下的activate文件
[root@localhost opt]# source ./s15venv1/bin/activate 激活虚拟环境 (s15venv1) [root@localhost opt]# echo $PATH 检查环境变量 (s15venv1) [root@localhost opt]# which python3 检查虚拟环境的解释器是否正常 (s15venv1) [root@localhost opt]# which pip3 检查虚拟环境的解释器是否正常
激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的。
四、在虚拟环境中安装django
(s15venv1) [root@localhost opt]# pip3 install django==1.11.11 (s15venv1) [root@localhost opt]# pip3 list 查看是否安装成功 (s15venv1) [root@localhost opt]# django-admin startproject mysite1 建立django项目
编辑配置文件settings.py文件中的ALLOW_HOSTS参数
(s15venv1) [root@localhost opt]# vi ./mysite1/mysite1/settings.py
启动服务器
(s15venv1) [root@localhost opt]# python ./mysite1/manage.py runserver 0.0.0.0:8000
使用浏览器访问服务器便可
(s15venv1) [root@localhost opt]# deactivate 退出虚拟环境
假设咱们在本地开发环境,准备好了项目+依赖包环境,如今须要将项目上传至服务器,上线发布,那么就要保证服务器的python环境一致。解决方案以下步骤:
1、经过命令导出开发环境依赖的包
(s15venv1) [root@localhost opt]# pip3 freeze > requirements.txt
上面命令将会建立一个 requirements.txt 文件,其中包含了当前环境中全部包及各自版本的简单列表。可使用 “pip list”在不产生requirements文件的状况下, 查看已安装包的列表,以下:
2、将产生的requirements.txt文件传至(可使用scp命令)生产环境的服务器,在服务器下建立virtualenv,在venv中导入项目所需的模块依赖
(prodEnv) [root@localhost opt]# pip3 install -r requirements.txt
上面命令执行后会在生产服务器对应项目的虚拟环境中导入与开发环境中相同的且版本一致的依赖包。
virtualenv 的一个最大的缺点就是:每次开启虚拟环境以前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就须要咱们记住每一个虚拟环境所在的目录,而且还有可能你忘记了虚拟环境放在哪。
一种可行的解决方案是,将全部的虚拟环境目录全都集中起来,例如/opt/all_venv/,而且针对不一样的目录作不一样的事。
另外一种是使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,而且省去了source的步骤。下面详细介绍此方法的使用步骤:
一、安装virtualenvwrapper
pip3 install virtualenvwrapper
注意:此命令必须得在物理解释器下执行,不要在虚拟环境下
二、设置Linux的环境变量,每次启动就加载virtualenvwrapper
确保/etc/profile文件的环境变量PATH中,物理解释器的python在最前面,以下图所示:
把下面几行代码添加到 ~/.bashrc文件中
vim ~/.bashrc 打开用户家目录下的隐藏文件.bashrc,在文件最后写入下面代码
export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录,用户家目录下产生Envs目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 上一行表示添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 # 指定python解释器 source /opt/python36/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本
执行下面命令,读取文件,使得上面代码生效,而后就可使用virtalenvwrapper工具了
source ~/.bashrc
或者也能够从新登陆会话,使得配置生效,以下:
三、virtualenvwrapper工具基本使用
mkvirtualenv env1 # 自动下载并建立虚拟环境env1,且激活此虚拟环境 workon env1 # 激活虚拟环境env1,输入workon tab键可查看当前有哪些虚拟环境 deactivate # 退出虚拟环境 rmvirtualenv env1 # 删除虚拟环境 env1,须要先退出虚拟环境
四、其余经常使用命令
lsvirtualenv # 列举全部的环境 cdvirtualenv # 进入当前已激活的虚拟环境所在的目录 cdsitepackages # 进入当前激活的虚拟环境的,python包的目录 lssitepackages # 显示 site-packages 目录中的内容。
完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
五、pycharm下建立虚拟环境
参考博客:http://www.javashuo.com/article/p-dhyasubb-go.html
参考博客:http://www.javashuo.com/article/p-fttjuxcm-gm.html
yum install wget -y 安装wget命令