1.切换yum源
安装完centos操作系统后,我们首先需要切换yum源,将yum源配置成国内的。
##先备份,任何重要操作之前要先备份
cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.bak
# 删除以后的yum源
rm CentOS-Base.repo
# 下载163的yum源
curl -O http://mirrors.163.com/.help/CentOS6-Base-163.repo #163
#curl -O http://mirrors.aliyun.com/repo/Centos-7.repo #阿里云
mv CentOS6-Base-163.repo CentOS-Base.repo ##改名
yum clean all ##清除yum源缓存
yum makecache #生成新的yum源缓存
yum update # 更新yum数据库
#常用下载源
1 阿里云 mirrors.aliyun.com
2 网易 mirrors.163.com
3 搜狐 mirrors.sohu.com
4 清华大学 mirrors.tuna.tsinghua.edu.cn
2.安装基础包
yum -y install gcc make gcc-c++ cmake libffi-devel
yum -y install zlib-devel bzip2-devel ncurses-devel openssl-devel
yum -y install make gcc-c++ cmake bison-devel swig patch sqlite-devel
yum -y install readline readline-devel tk-devel gdbm-devel db4-devel
yum -y install net-tools libjpeg-devel libpcap-devel xz-devel
yum -y groupinstall "Development Tools"
yum -y install python-devel libevent-devel bzip2-devel
3.安装python
CentOS自带是Python2版本,系统很多软件用的是python2,而我们日常开发中使用最多的却是Python3版本。使用CentOS的yum直接安装Python3会报错,因为Python3不在CentOS的默认安装源里。这种情况下,可以使用源码安装Python3.
- 下载python3.7.5
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
- 解压
进入压缩包所在目录,使用tar进行解压
tar -xzvf Python-3.7.5.tgz
解压后,产生一个Python-3.7.5的目录
- 配置安装参数
进入Python-3.7.5目录中,可以看到其中有一个README.rst,是安装帮助文档,打开后,里面具体说明了,应该如何安装:
On Unix, Linux, BSD, macOS, and Cygwin::
./configure # 配置
make # 编译
make test # 编译测试(不是必须的)
sudo make install # 安装
其中configure用于配置安装的一些参数,比如安装的路径、优化等,如果不知道有哪些配置参数,可以查一下帮助:
./configure --help
- 我们把python3.7安装到/usr/local下,执行以下三条命令:
./configure --prefix=/usr/local/python3 # --prefix 设置安装路径
make
sudo make install
- 在/usr/bin建立一个软连接python3,指向安装的python
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
因为系统很多软件使用python2.7,绝对不允许直接将原来的软连接python指向3.7
最好把python的安装路径下的bin写入到.bashrc中:
vim ~/.bashrc
# 把光标移动到行末,按o进入编辑模式
export PATH=$PATH:/usr/local/python3/bin # 自己根据python安装路径改写
# 保存退出
:wq
# 使配置立刻生效
source ~/.bashrc
4.安装virtualenv
在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰,如下所示。
- 安装virtualenv
安装virtualenv要使用python的包管理工具pip,但系统自带pip是2.7的,不能用pip安装,必须使用pip3,也就是python3.7.5的pip3进行安装。
sudo pip3 install virtualenv
virtualenv默认安装到python3.7.5的bin目录下,因为我们已经把bin目录写到系统环境变量中去了,所以可以直接使用virtualenv命令
- virtualenv命令格式:
virtualenv [OPTIONS] DEST_DIR
OPTIONS常用参数:
--no-site-packages 独立的运行环境
-p 指定虚拟开发环境的python版本,一般是指/usr/bin中的软连接
--python 指定python可执行文件路径
- 创建虚拟开发环境
virtualenv会在当前目录中创建虚拟开发环境
# 1 直接创建
virtualenv venv1
# 2 指定python解释器版本
virtualenv -p python venv2
# 3 指定python可执行文件路径
virtualenv --no-site-packages --python=/usr/local/python3/bin/python3.7 venv
- 虚拟环境操作
#激活虚拟开发环境
source 虚拟环境目录名/bin/activate # 根据自己的生成的虚拟环境的路径进行修改
#退出虚拟开发环境
deactivate
5.安装virtualenvwrapper
virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
下面我们给出virtualenvwrapper的安装和使用方式:
- 安装
pip3 install virtualenvwrapper
- 创建虚拟环境管理目录
mkdir ~/.virtualenvs
- 修改虚拟环境变量
#打开文件
vi ~/.bashrc
#在文件内容末尾添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs # 所有虚拟环境存储的目录
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3.7 #指定python安装路径
source /usr/local/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本,根据自己的安装路径修改
# 存盘退出
:wq
#让配置文件其生效
source ~/.bashrc
- 基本使用
#创建一个虚拟环境:
$ mkvirtualenv env1 #这会在 ~/.virtualenvs 中创建 env1 文件夹。
# 虚拟环境列表
workon
#激活虚拟环境env1
$ workon env1
再创建一个新的虚拟环境
$ mkvirtualenv env2
virtualenvwrapper 提供环境名字的tab补全功能。
#退出虚拟环境
deactivate
#删除虚拟环境,需要先退出虚拟环境
rmvirtualenv env2