python虚拟环境virtualenv(升级python至2.7.18)

python虚拟环境virtualenv+升级python至2.7.18

  • 简介
    • 升级python版本(2.7.18)
    • 搭建虚拟环境
    • 制作虚拟包

简介

最近使用python做了一个小工具,需要上线,不可能每个环境都部署python和相关依赖。virtualenv可以创建一个python虚拟环境,将所需的依赖都安装至该环境中,将该环境打包,可移植部署至其他环境。同时,由于机器中的python版本是2.7.5,太低了,安全团队检查出有安全问题,所以得升级,需升级至2.7.18。

升级python版本(2.7.18)

获取python2.7.18版本安装包并解压

wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
tar -xvzf Python-2.7.18.tgz

配置编译环境

yum install gcc* openssl openssl-devel ncurses-devel.x86_64 bzip2-devel sqlite-devel python-devel zlib -y

安装

cd Python-2.7.18
./configure
make
#默认安装至/usr/local中,/usr/local/bin   /usr/loca/lib64  /usr/local/lib
make install

验证

/usr/local/bin/python

在这里插入图片描述
至此,python2.7.18安装完成!!!

搭建虚拟环境

安装pip

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
/usr/local/bin/python get-pip.py

验证pip安装成功

/usr/local/bin/pip --version

在这里插入图片描述
安装virtualenv

/usr/local/bin/pip install virtualenv

验证virtualenv安装成功

/usr/local/bin/virtualenv --version

在这里插入图片描述
升级setuptools和安装依赖

#升级setuptools(不然安装部分依赖会报错)
/usr/local/bin/pip install setuptools==44.1.1 --upgrade
 
#安装python开发包
yum install python-devel
#安装mysql开发包(按需部署,这里本人是依赖了mysql相关的依赖)
yum install mysql-devel

制作虚拟包

创建虚拟环境

#--copies可以将一些系统文件复制到虚拟环境中,否则将使用软链接的方式,这样将虚拟环境打包移植到其他环境时就可能无法使用
/usr/local/bin/virtualenv virtualenv-test --copies

#移植系统库至虚拟环境中,若不移植,将虚拟环境打包至其他环境时,需安装对应的库才可以使用
cp -r /usr/lib64/mysql   virtualenv-test/lib/
cp -r /usr/local/lib/python2.7    virtualenv-test/lib/
cp -r /usr/local/include/python2.7    virtualenv-test/include/

更新虚拟环境配置文件(使虚拟环境中的python以及pip随处可使用,默认的配置文件中的地址为当前环境的地址,需更换为变量,使每个环境都可以用)
更新bin/activate文件
python虚拟环境virtualenv(升级python至2.7.18)_第1张图片
更行bin/pip文件
python虚拟环境virtualenv(升级python至2.7.18)_第2张图片

更新pyvenv.cfg文件
python虚拟环境virtualenv(升级python至2.7.18)_第3张图片
这样这个虚拟包不管放到哪个目录,哪个环境下,都可以在该虚拟环境中直接使用虚拟环境中的pip安装依赖和使用虚拟环境中的python

进入虚拟环境,安装服务所需的依赖

cd virtualenv-test
source ./activate

pip install -r requirement.txt

打包虚拟环境

tar -czf virtualenv.tar.gz virtualenv-test/

你可能感兴趣的:(python,virtualenv,linux)