实验环境
实验名:01 CentOS7.6搭建Python开发环境
Linux版本: CentOS 7.6
Python版本: Python 3.6.8
实验所需软件下载位置【02 开发相关 / 01 CentOS7.6搭建Python开发环境】:
下载地址: https://pan.baidu.com/s/14Bs47uNi04u7lnoJWQDZzQ 【密码】:1gee
Linux基础配置
- 关闭selinux
[root@localhost ~]# vim /etc/selinux/config
将SELINUX=enabled改为SELINUX=disabled
- 关闭防火墙
[root@localhost ~]# systemctl disable firewalld
- 配置Linux为阿里源
下载源文件
[root@localhost ~]# wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/aliyun.repo
修改配置源文件
[root@localhost ~]# vim /etc/yum.repos.d/aliyun.repo
将$releasever改为7 命令是( :%s/$releasever/7 )
将$basearch改为x86_64命令是( :%s/$basearch/x86_64 )
安装编译环境
- 编译源码需要到的包
[root@localhost ~]# yum -y groupinstall Development tools
[root@localhost ~]# yum -y install openssl-devel pcre-devel expat-devel
- 编译python的时候,后期使用sqlite3需要此包
[root@localhost ~]# yum -y install sqlite-devel
源代码安装sqlite3.30
python3.6.8依赖3.8.3及以后版本的sqlite3,目前最新的是sqlite3.30.01
sqlite官网地址:https://www.sqlite.org/index.html
- 下载sqlite3
[root@localhost ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
- 解压并安装
解压
[root@localhost ~]# tar xvf sqlite-autoconf-3300100.tar.gz
[root@localhost ~]# cd sqlite-autoconf-3300100
- 配置,指定安装路径
[root@localhost sqlite-autoconf-3300100]# ./configure --prefix=/usr/local/sqlite33001
- 编译,编译结束后自动安装
[root@localhost sqlite-autoconf-3300100]# make && make install
重要部分:
如果要安装django并使用,可能系统自带的sqlite版本过低,这时候需要我们将安装的sqlite替换成系统的,先将系统自带的重命名
[root@localhost ~]# mv /usr/bin/sqlite3 /usr/bin/sqlite3_system_old
[root@localhost ~]# ln -s /usr/local/sqlite33001/bin/sqlite3 /usr/bin/sqlite3
- 将sqlite3安装路径传递给共享库,就是你上面--prefix指定的路径
[root@localhost ~]# export LD_LIBRARY_PATH="/usr/local/sqlite33001/lib"
源码安装Python3.6.8
- 将源码包上传到服务器并解压
[root@localhost ~]# tar xvf Python-3.6.8.tar.xz
[root@localhost ~]# cd Python-3.6.8
- 配置,并指定安装位置
[root@localhost Python-3.6.8]# ./configure --prefix=/usr/local/python368
- 编译,编译结束后自动安装
[root@localhost ~]# make && make install
切换默认python
默认的是系统自带的Python2.7
查看系统自带python版本
[root@localhost ~]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
- 查询的都是python2
[root@localhost ~]# ll /usr/bin | grep python
- 备份原来的python
[root@localhost ~]# mv /usr/bin/python /usr/bin/python_old
- 将python3创建软连接
[root@localhost ~]# ln -s /usr/local/python368/bin/python3 /usr/bin/python3
- 将python的软连接修改为python3
[root@localhost ~]# ln -s /usr/bin/python3 /usr/bin/python
- 创建pip软连接
[root@localhost ~]# ln -s /usr/local/python368/bin/pip3 /usr/bin/pip3
[root@localhost ~]# ln -s /usr/bin/pip3 /usr/bin/pip
必须要做的事情:
由于yum需要依赖python2 我们修改了默认的python为python3,所以要修改yum的两个文件,让他继续使用python2,将指定的“#! /usr/bin/python” 改为“#! /usr/bin/python2”否则使用yum的时候会报如下错误 :
- 编辑yum配置将执行的脚本改为python2
[root@localhost ~]# vim /usr/bin/yum
[root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down
- 将python3加入到path环境变量,写入文件方便开机加载
[root@localhost ~]# vim /root/.bashrc 或者
[root@localhost ~]# vim /etc/bashrc
export PATH=/usr/local/python368/bin:$PATH
- 刷新bashrc配置文件
[root@localhost ~]# source /etc/bashrc
将pip切换为国内的源
[root@localhost ~]# mkdir /root/.pip
[root@localhost ~]# cd .pip
[root@localhost ~]# vim /root/.pip/pip.conf
输入:
[global]
index-url=https://pypi.douban.com/simple/
trusted-host=pypi.douban.com
安装虚拟环境
- 创建虚拟环境目录
[root@localhost ~]# mkdir /root/.virtualenvs
- 安装virtualenv和virtualenvwrapper
[root@localhost ~]# pip install virtualenv
[root@localhost ~]# pip install virtualenvwrapper
- 配置虚拟环境
编辑/root/.bashrc文件加入如下两行配置,第一行指定虚拟环境目录,第二行指定创建虚拟环境需要的文件位置
[root@localhost ~]# vim /root/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
# 这里是virtualenvwrapper.sh文件所在的目录,可能根据你安装目录所在目录不同
[root@localhost ~]# source /usr/local/python368/bin/virtualenvwrapper.sh
- 添加完毕后刷新一下配置文件
[root@localhost ~]# source /root/.bashrc
- 创建虚拟环境
[root@localhost ~]# mkvirtualenv study
- 查看虚拟环境
[root@localhost ~]# workon
- 进入虚拟环境
[root@localhost ~]# workon study
- 删除虚拟环境
[root@localhost ~]# rmvirtualenv study
将下载包的地址配置为国内
由于pip默认是到国外去下载,速度比较慢,为了提高速度,我们可以配置国内的镜像源,我常用的有两个阿里和豆瓣的:
配置步骤:
第一步:在python用户的home目录中创建一个.pip
文件夹
[root@localhost ~]# mkdir /root/.pip
第二步:进入.pip
文件夹创建一个pip.conf文件,输入如下信息:
[root@localhost ~]# vim /root/.pip/pip.conf
第三步:输入下面的信息
[global]
index-url=https://mirrors.aliyun.com/pypi/simple
trusted-host=mirrors.aliyun.com
或者
[global]
index-url=http://pypi.douban.com/simple
trusted-host=pypi.douban.com
导出和导入pip安装包列表
将所有安装包导出到一个文件中
使用freeze参数,然后利用从定向导入到一个文件中
(study) [root@localhost ~]# pip freeze > path/filename
从一个文件中导入安装所需要的包
(study) [root@localhost ~]# pip install -r path/filenmae
下载所需要的whl包
有时候我们需要从一台电脑下载安装包到另一台电脑安装
下载:
我们通过下载后得到whl文件
(study) [root@localhost ~]# pip download -d pathName -r fileName
安装:
(study) [root@localhost ~]# pip install path/xxx.whl
总结:
- 先安装高版本的sqlite3
- 再编译Python3.6.8
- 要加入环境变量的有:
Python路径
虚拟环境家目录
创建虚拟环境需要的脚本 - 通常用于开发环境移植到生产环境导出安装列表
注意点:
修改了默认python为python3后,由于yum的两个配置文件执行的时候使用的是python2,所以我们需要修改他们的文件指定使用ptyhon2,否则使用yum的时候会报错,执行下面命令:
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
将#!/usr/bin/python 改为#!/usr/bin/python2