02 Python学习之CentOS 7.6源码搭建Python开发环境

实验环境

实验名: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基础配置

  1. 关闭selinux
[root@localhost ~]# vim /etc/selinux/config

将SELINUX=enabled改为SELINUX=disabled

  1. 关闭防火墙
[root@localhost ~]# systemctl disable firewalld
  1. 配置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 )

安装编译环境

  1. 编译源码需要到的包
[root@localhost ~]# yum -y groupinstall Development tools
[root@localhost ~]# yum -y install openssl-devel pcre-devel expat-devel
  1. 编译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

  1. 下载sqlite3
[root@localhost ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
  1. 解压并安装
    解压
[root@localhost ~]# tar xvf sqlite-autoconf-3300100.tar.gz
[root@localhost ~]# cd sqlite-autoconf-3300100
  1. 配置,指定安装路径
[root@localhost sqlite-autoconf-3300100]# ./configure --prefix=/usr/local/sqlite33001
  1. 编译,编译结束后自动安装
[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

  1. 将sqlite3安装路径传递给共享库,就是你上面--prefix指定的路径
[root@localhost ~]# export LD_LIBRARY_PATH="/usr/local/sqlite33001/lib"

源码安装Python3.6.8

  1. 将源码包上传到服务器并解压
[root@localhost ~]# tar xvf Python-3.6.8.tar.xz
[root@localhost ~]# cd Python-3.6.8
  1. 配置,并指定安装位置
[root@localhost Python-3.6.8]# ./configure --prefix=/usr/local/python368
  1. 编译,编译结束后自动安装
[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.
  1. 查询的都是python2
[root@localhost ~]# ll /usr/bin | grep python
  1. 备份原来的python
[root@localhost ~]# mv /usr/bin/python /usr/bin/python_old
  1. 将python3创建软连接
[root@localhost ~]# ln -s /usr/local/python368/bin/python3 /usr/bin/python3
  1. 将python的软连接修改为python3
[root@localhost ~]# ln -s /usr/bin/python3 /usr/bin/python
  1. 创建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的时候会报如下错误 :
报错图片

  1. 编辑yum配置将执行的脚本改为python2
[root@localhost ~]# vim /usr/bin/yum
[root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down
  1. 将python3加入到path环境变量,写入文件方便开机加载
[root@localhost ~]# vim /root/.bashrc  或者
[root@localhost ~]# vim /etc/bashrc
export PATH=/usr/local/python368/bin:$PATH
  1. 刷新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

安装虚拟环境

  1. 创建虚拟环境目录
[root@localhost ~]# mkdir /root/.virtualenvs
  1. 安装virtualenv和virtualenvwrapper
[root@localhost ~]# pip install virtualenv
[root@localhost ~]# pip install virtualenvwrapper
  1. 配置虚拟环境
    编辑/root/.bashrc文件加入如下两行配置,第一行指定虚拟环境目录,第二行指定创建虚拟环境需要的文件位置
[root@localhost ~]# vim /root/.bashrc
export WORKON_HOME=$HOME/.virtualenvs

# 这里是virtualenvwrapper.sh文件所在的目录,可能根据你安装目录所在目录不同

[root@localhost ~]# source /usr/local/python368/bin/virtualenvwrapper.sh
  1. 添加完毕后刷新一下配置文件
[root@localhost ~]# source /root/.bashrc
  1. 创建虚拟环境
[root@localhost ~]# mkvirtualenv study
  1. 查看虚拟环境
[root@localhost ~]# workon
  1. 进入虚拟环境
[root@localhost ~]# workon study
  1. 删除虚拟环境
[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

总结:

  1. 先安装高版本的sqlite3
  2. 再编译Python3.6.8
  3. 要加入环境变量的有:
    Python路径
    虚拟环境家目录
    创建虚拟环境需要的脚本
  4. 通常用于开发环境移植到生产环境导出安装列表

注意点:
修改了默认python为python3后,由于yum的两个配置文件执行的时候使用的是python2,所以我们需要修改他们的文件指定使用ptyhon2,否则使用yum的时候会报错,执行下面命令:
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
将#!/usr/bin/python 改为#!/usr/bin/python2

原文地址:https://www.cnblogs.com/zcf-blog/p/13184472.html