linux离线安装python3和pip,Tool_linux环境安装python3和pip

一、安装python

1、安装依赖环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum install zlib zlib-devel openssl

yum install openssl-devel -y

yum install libffi-devel -y

2、到官网下载Python包

进入官网(https://www.python.org/)点击downloads,再点击linux

1353d2eb360fd5dab86d8eab3d103105.png

选择要下载的版本包

cc6bb57b966f3d9103aee20b7c797c26.png

或者使用wget方式下载

wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz

3、创建安装目录

mkdir -p /usr/local/python3.9

4、将下载好的python包移到Linux下,然后解压

tar -zxvf Python-3.9.1.tgz

5、进入解压后的目录,配置安装环境

cd /usr/local/Python-3.9.1./configure --prefix=/usr/local/python3.9/

--prefix 参数是指定安装目录为第3步创建的目录

6、编译并安装

make && make install

4466ed490f05352feca02764faa268e8.png

7、配置环境变量

vi /etc/profile

在文件最下面添加

export PYTHON_HOME=/usr/local/python3.9export PATH=${PYTHON_HOME}/bin:$PATH

使得配置的环境变量立即生效

source /etc/profile

8、检查是否安装成功

823fa2cd4e05ee66c1c635fdd81d781e.png

二、安装和使用遇到的问题

1、make install后提示:ModuleNotFoundError: No module named 'zlib'

d4e355f535a0053d83525cc1978970fe.png

66d3d17330304ebdd79db4108be06383.png

解决方法:通过如下命令修复问题

yum install zlib zlib-devel openssl -y

修复问题后,重新执行编译和安装命令

./configure --prefix=/usr/local/python3.9/make & make install

2、使用pip安装时告警:WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

25b0b2ecd5015d19178f1bd4461d431b.png

解决方法:通过如下命令修复问题

yum install openssl-devel -y

安装完成后重新执行编译和安装

ab46fdf802f132f554ee95a5279bfcb7.png

3、使用pip3安装包时提示:ModuleNotFoundError: No module named '_ctypes'

9b40dc1c371b2a90e4b67bb05ebf2c59.png

解决方法:通过如下命令修复问题

yum install libffi-devel -y

安装完成后重新执行编译和安装

5a3800b1d4076df31cba11e082191455.png

三、安装pip

如果python安装成功我们通过下面命令是能查看到pip的

whereis pip

4e84c12b25da5e363b5d1c1f15db6bf1.png

如果确实没有安装pip3

9b658bde4a8fa46384b6ab4c7c1a4909.png

可以通过下面方式进行安装

yum install python3-pip

安装后查看

ec1da8d6e36d9bd39258ecc79873ed9a.png

因为是通过yum安装的pip3,所以pip3的安装目录不在python的安装目录下,此情况会产生一个问题:通过pip3安装的包,在import时无法识别。

也就是说我们使用python3命令根本就无法导入pip3安装的模块,因为完全找不到这个目录下。

f8462d4124c0652a7f71829904bffb1f.png

解决这个问题有两种思路:

修改下载包的安装目录

将pip3安装包的目录 site-packages加入到环境变量中

修改下载包的安装目录

通过创建python3.9的 site-packages 目录的软链将pip3安装包的目录 site-packages 覆盖即可。

1 cd /usr/local/lib/python3.6

2 mv site-packages site-packages.bak3 ln -s /usr/local/python3.9/lib/python3.9/site-packages site-packages

操作完成后,使用pip3 安装的包全部安装到  /usr/local/python3.9/lib/python3.9/site-packages 该目录下。

将pip3安装包的目录 site-packages加入到环境变量中

在家目录下  vi ~/.bashrc,在文件最后加入下面代码:

export PYTHONPATH=/usr/local/lib/python3.6/site-packages/:$PYTHONPATH

使文件立即生效

source .bashrc

此时进入python3的交互模式通过sys.path就能查看到  /usr/local/lib/python3.6 目录加入到了python的环境变量中

43dabd253241b3507e384a975eb1e308.png