前置
关闭防火墙(建议)
systemctl stop firewalld
systemctl disable firewalld.service
GCC检查(以安装可忽略)
查看GCC版本
gcc -v
安装GCC建议
Centos7.4镜像,自带gcc4.8.5,gcc4.8开始全面支持C 11和C++ 11的新特性,如果在开发中使用C++14,最好安装GCC5,推荐5.4.0,如果开发使用C++17,安装GCC7
GCC升级不能直接升级系统自带的GCC,有可能导致不兼容/系统奔溃,升级时,考虑自定义目录
安装的准备
检查Python3安装前的依赖
rpm -q zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
下载安装
如果有未安装的,可下载对应版本(参考linux版本和python版本)
yum install -*.rpm 或者 rpm -ivh zlib-*.rpm
说明:yum可自动处理好依赖关系
rpm的ivh参数可检测依赖,
rpm若强制安装,省略依赖关系:rpm -ivhU *.rpm –nodeps --force
源码包安装
检查
解压后,进去当前目录,编译前检测及预置安装路径
./configure --prefix=/usr/local/python3 --with-ssl # --perfix指定安装路径 --whth-ssl代表检查系统ssl的支持
编译&&安装
make && make install
# 注意:不指定,默认安装在/usr/local/bin/
验证
python3 -V
# 如果显示Python的版本号为安装版本,则表示Python全局环境/软链接自动配置成功
# 如果系统自带的python2.7版本存在,可卸载,若不卸载,可备份(重命名)版本python2的软链接“python”,最新的Python3添加软链接名为“python”,这时候输入在终端python,即实际指向python3
# 软链接路径 /usr/bin
清理临时文件
安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件
#make clean
#make distclean
Python3创建软连接
执行:Root#:ln -s /usr/local/python3/bin/python3 /usr/bin/python3
验证:python3
pip3 创建软连接
执行:Root#:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
验证:pip3
创建Python虚拟环境
下载
# 预编译版本
wget https://files.pythonhosted.org/packages/4f/ba/6f9315180501d5ac3e707f19fcb1764c26cc6a9a31af05778f7c2383eadb/virtualenv-16.5.0-py2.py3-none-any.whl
安装
pip3 install virtualenv-16.5.0-py2.py3-none-any.whl
# 见successfully则安装OK
pip3 list # 检查
virtualenv --version # 查看版本
创建软链接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
注意:若提示已经存在软链接,查看是否自带或者之前安装过,这时只需要更改同名软链接名称;
首先:mv virtualenv virtualenv_20190530_bak,
再次:ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
查看virtualenv版本
virtualenv –-version
出现下图16.5.0,则ok
创建虚拟环境
virtualenv --python=/usr/local/bin/python3 venv # 在普通用户下创建名称为venv的虚拟环境``
启动/激活/进去虚拟环境
source **/**/venv/bin/activate
停用/退出虚拟环境
deactivate
注意事项
安装第三方依赖包的时候发现一个问题,一定要切换到虚拟环境中,
在虚拟环境中也一定不要sudo执行,否则安装在全局/外层(基础python环境),
因为基础的环境要保持干净。如果这时没有在全局环境卸载安装的包,则再在虚拟环境安装,你回头想卸载全局环境下的包,会造成,虚拟环境也跟着被卸载,但不影响创建其他虚拟环境,
创建的虚拟环境默认只有pip、setuptools、wheel三个