linux 搭建python虚拟环境

查看linux版本 , 不同版本编译的虚拟环境不能公用
cat /etc/issue
cat /etc/redhat-release


一、linux python安装
1、安装依赖

yum install -y gcc

yum install -y zlib* openssl*
yum install -y libffi libffi-devel
2、下载最新的python tar.gz包
tar -xzvf xxx.tar.gz
cd xxx
./configure --prefix=/app/xxx
make
make install

注意:如果在make install 报错“zipimport.ZipImportError: can't decompress data; zlib not available”,是因为缺少依赖,需要

yum install zlib  zlib-devel,完成后再次尝试正常。

3、进入安装目录
cd /app/xxx/bin
./python3 测试是否安装正常
如果嫌麻烦可以直接添加环境变量(生效本次终端)
export PATH="$PATH:/app/xxx/bin/" 
可以直接修改添加永久环境变量(永久生效)

cd /etc/profile

在最下面添加如下内容

# python37 path
export PYTHON_HOME=/app/python/python37
export PATH=$PATH:${PYTHON_HOME}/bin

source /etc/profile刷新使之生效
 


二、虚拟环境搭建
1、python原生venv 在移植时候发现还有点问题,所有采用了下面另外一种方法
python3 -m venv test_venv

2、virtualenv
pip3 install virtualenv(如果慢可以指定国内pip源 pip3 install -i https://pypi.doubanio.com/simple/ virtualenv)
virtualenv -p /app/python3/bin/python3 --always-copy /app/Venv
这里务必要加上--always-copy,代码是真是的文件拷贝,而不是软连接,因为当你将搭建好的虚拟环境移植到其它机器时,软连接是找不到的。

三、测试是否成功
将搭建的虚拟环境拷贝到新的机器同样目录,然后source venv/bin/activate
python 发现正常
但是 键入 pip list 时候会报错,有好多包找不到
经大神分享,是创建虚拟环境时lib下的python3.x里面有好多包没有复制到虚拟环境导致的,
因此,将源编译器中lib下python3.x里面所有的包复制到虚拟环境中,再次测试,发现完全正常。

四、将虚拟环境包放到不同路径

只需要将bin目录下相关路径对应修改即可

一般的话,需要修改pip,easy-install,activate.sh几个文件,当然,最好是全部改了(建议写个脚本修改)

发布了63 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_30966497/article/details/95449706