Linux(CentOS7)安装Python3和pip3并为pip换源 |
您所在的位置:网站首页 › centos7安装python310没有ssl命令 › Linux(CentOS7)安装Python3和pip3并为pip换源 |
centos7 自带有 python,版本是python2.7 接下来我们手动安装python3,并且配置后可以并存使用。 1.首先,你要知道系统现在的python的位置在哪儿:[root@root ~]# whereis pythonpython: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz可以知道我们的python在 /usr/bin目录中[root@root ~]# cd /usr/bin/[root@root bin]# ll python*lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。 2.因为我们要安装python3,所以要先安装相关包,用于下载编译python3:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 运行了以上命令以后,就安装了编译python3所用到的相关依赖 3.默认的,centos7也没有安装pip,不知道是不是因为我安装软件的时候选择的是最小安装的模式。#运行这个命令添加epel扩展源yum -y install epel-release #安装pipyum install python-pip 4.用pip装wgetpip install wget 5.用wget下载python3的源码包(评论区网友提供了淘宝镜像,替换了官网下载python3,提高下载速度)wget http://npm.taobao.org/mirrors/python/3.7.5/Python-3.7.5.tar.xz 6.编译python3源码包#解压xz -d Python-3.7.5.tar.xztar -xf Python-3.7.5.tar #进入解压后的目录,依次执行下面命令进行手动编译cd Python-3.7.5./configure prefix=/usr/local/python3make && make install # 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库#安装依赖zlib、zlib-develyum install zlib zlibyum install zlib zlib-devel如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录 7.添加软链接#将原来的链接备份mv /usr/bin/python /usr/bin/python.bak #添加python3的软链接ln -s /usr/local/python3/bin/python3.7 /usr/bin/python #测试是否安装成功了python -V 8.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用vi /usr/bin/yum把#! /usr/bin/python修改为#! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down把#! /usr/bin/python 修改为#! /usr/bin/python2 启动python2:
启动python3:
附录: 关于,如何下载python3的pip模块,以及pip2和pip3的如何兼容使用,可以看我的另一篇文章: 下载pip模块以及pip2和pip3共存问题————————————————版权声明:本文为CSDN博主「大蛇王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/t8116189520/article/details/81976755
====================================================================
文章目录安装Python3和pip3更换pip为阿里源常用源临时更改永久更改 当前CentOS7系统自带了python2.7.5,因为yum会用到python2,所以不能删除,此次安装了python3之后就保持两个版本长期共存吧本次安装采用的是下载python源码再编译的方式 下面的操作,按照步骤来就可以了,不要在中途cd 到别的文件目录下,要想查看效果可以用 ls加上对应的目录,不需要切换进去。 安装Python3和pip3首先进行yum更新 yum update -y1接着安装必要的软件 yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel libffi-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make1查看现有python命令,这3个文件依赖关系很明显就可以看到 ls -l /usr/bin/python* # 结果如下lrwxrwxrwx. 1 root root 7 1月 22 18:57 /usr/bin/python -> python2lrwxrwxrwx. 1 root root 9 1月 22 18:57 /usr/bin/python2 -> python2.7-rwxr-xr-x. 1 root root 7144 11月 17 06:23 /usr/bin/python2.7123456下载python源码压缩包,需提前安装wget工具 yum install -y wget wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz123等待下载完成之后会在当前目录下出现一个tgz包,命令解压这个包到当前目录就可以 tar -xvzf Python-3.8.7.tgz1进入解压后的目录,执行编译前的configure操作,提前安装gcc编译器 yum install gcc cd Python-3.8.7 && ./configure --with-ssl --prefix=/usr/local/python3123稍微解释执行./configure 的命令,目的就是把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。 编译源码,在Python-3.8.7目录执行以下命令 make && make install1编译成功后提示如下信息,setuptools和pip都已经部署成功 Processing /tmp/tmpl3pm5lx_/setuptools-49.2.1-py3-none-any.whlProcessing /tmp/tmpl3pm5lx_/pip-20.2.3-py2.py3-none-any.whlInstalling collected packages: setuptools, pipSuccessfully installed pip-20.2.3 setuptools-49.2.11234又是一大堆代码,执行完毕之后,我们就可以查看/usr/local/python3/目录了 ls -l /usr/local/python3 # 结果如下drwxr-xr-x. 2 root root 220 1月 22 19:36 bindrwxr-xr-x. 3 root root 23 1月 22 19:30 includedrwxr-xr-x. 4 root root 62 1月 22 19:36 libdrwxr-xr-x. 3 root root 17 1月 22 19:30 share1234567接下来我们还有一点善后工作——创建python3和pip3的软连接 ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3123此时在/usr/bin/目录下,查看文件关系如下 ls -l /usr/bin/python* # 结果如下lrwxrwxrwx. 1 root root 7 1月 22 18:57 /usr/bin/python -> python2lrwxrwxrwx. 1 root root 9 1月 22 18:57 /usr/bin/python2 -> python2.7-rwxr-xr-x. 1 root root 7144 11月 17 06:23 /usr/bin/python2.7lrwxrwxrwx. 1 root root 32 1月 22 20:42 /usr/bin/python3 -> /usr/local/python3/bin/python3.81234567升级pip3 pip3 install --upgrade pip1更换pip为阿里源常用源清华源https://pypi.tuna.tsinghua.edu.cn/simplepypi.tuna.tsinghua.edu.cn阿里源https://mirrors.aliyun.com/pypi/simple/mirrors.aliyun.com豆瓣源http://pypi.douban.com/simplepypi.douban.com我在这里以阿里源为例 临时更改pip install -i https://mirrors.aliyun.com/pypi/simplepip install -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com12永久更改首先创建.pip文件夹 mkdir ~/.pip1创建pip.conf配置文件 touch ~/.pip/pip.conf1修改pip.conf配置文件 vim ~/.pip/pip.conf # 文件内容如下[global]index-url=https://mirrors.aliyun.com/pypi/simple/[install]trusted-host=mirrors.aliyun.com1234567至此,大功告成了!!! 文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树预备知识安装Python58126 人正在系统学习中————————————————版权声明:本文为CSDN博主「Amosヾ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_44924544/article/details/112993067
========================================================== yum install zlib-devel bzip2-devel openssl-devel ncurses-devel libffi-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make 因为我们要安装python3,所以要先安装相关包,用于下载编译python3:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 运行了以上命令以后,就安装了编译python3所用到的相关依赖 ————————————————
WARNING: Value for scheme.headers does not match. Please report this to distutils: /usr/local/python3.10.1/include/python3.10/UNKNOWNsysconfig: /usr/local/python3/Python-3.10.1/Include/UNKNOWNWARNING: Additional context:user = Falsehome = Noneroot = '/'prefix = NoneLooking in links: /tmp/tmph2hzr8z0Processing /tmp/tmph2hzr8z0/setuptools-58.1.0-py3-none-any.whlProcessing /tmp/tmph2hzr8z0/pip-21.2.4-py3-none-any.whlInstalling collected packages: setuptools, pip WARNING: Value for scheme.headers does not match. Please report this to distutils: /usr/local/python3.10.1/include/python3.10/setuptools sysconfig: /usr/local/python3/Python-3.10.1/Include/setuptools WARNING: Value for scheme.headers does not match. Please report this to distutils: /usr/local/python3.10.1/include/python3.10/pip sysconfig: /usr/local/python3/Python-3.10.1/Include/pip WARNING: The scripts pip3 and pip3.10 are installed in '/usr/local/python3.10.1/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.Successfully installed pip-21.2.4 setuptools-58.1.0WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv[root@localhost Python-3.10.1]# ping localhost
============================================================================
## 离线安装Python3 1.安装依赖环境 ```sh 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 ``` 2.下载安装包 可以选择官网直接下载或者wget命令下载 * 官网( * wget: wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tgz 3.解压 ```sh mkdir -p /usr/local/python3.10 tar -zxvf Python-3.9.0.tgz ``` 4.编译安装 ```sh cd Python-3.10.1 ./configure --prefix=/usr/local/python3.10 make && make install ``` 5.配置环境变量 ```sh vi /etc/profile export PYTHON_HOME=/usr/local/python3.10 export PATH=${PYTHON_HOME}/bin:$PATH source /etc/profile ``` 创建软连接 查看python指向: ```sh ls -l /usr/bin | grep python ``` 创建/usr/bin/python3 ```sh ln -s /usr/local/bin/python3.10/bin/python3 /usr/bin/python3 # 创建python3软连接 rm /usr/bin/python ln -s /usr/bin/python3 /usr/bin/python ``` ## 离线安装、迁移第三方模块 1.第三方模块下载 * 第三方模块下载可以直接下载whl文件,直接使用pip3 install * 可在联网机器下载,迁移到离线服务器安装 下面主要介绍在在联网机器下载,迁移到离线服务器安装方式 如果新安装某一个模块,可以直接下载下来 ```sh pip3 download xxx -d /tmp/packages/ ``` 默认情况download是最新版本模块,但需要下载指定模块版本,例如: ```sh pip3 download kafka-python==2.0.2 -d /tmp/packages/ ``` * 查看已安装模块 ```sh pip3 list Package Version ------------------ --------- certifi 2021.10.8 charset-normalizer 2.0.9 idna 3.3 kafka-python 2.0.2 pip 21.2.4 pydruid 0.6.2 requests 2.26.0 setuptools 58.1.0 urllib3 1.26.7 ``` * 将pip3 list的信息生成文档 ```sh pip3 freeze > requirements.txt ``` * 将requirement.txt文档中列出的模块信息下载到指定目录 ```sh # 第一种方式,推荐使用 pip3 download -r requirements.txt -d /tmp/packages/ # 第二种方式 pip3 install --download /tmp/packages -r requirements.txt ``` * 将下载好的模块copy到离线服务器 ```sh #是什么格式就安装什么格式的文件 pip3 install xxx.tar.gz pip3 install xxx.whl pip3 install xxx.xx ``` 批量安装多个包和依赖包,所有文件放到一个目录中,进入这个目录执行命令 ```sh pip3 install ./* ``` issues: issue1:pip3 安装依赖 ModuleNotFoundError: No module named '_ctypes' 解决方案 1.安装libffi-devel ```sh yum install libffi-devel ``` 2.重新编译安装 ```sh ./configure --prefix=/usr/local/python3 --enable-optimizations make && make install ``` --- issue2:No matching distribution found for request ```sh Collecting request Could not fetch URL https://pypi.python.org/simple/request/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) - skipping Could not find a version that satisfies the requirement request (from versions: ) No matching distribution found for request ``` 分析:网络原因导致 解决方案 ```sh pip3 install requests -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com ``` issue3:pip3 install xxx.tar.gz 报连接错误 ```sh tar -zxvf xxx.tar.gz cd xxx python3 setup.py install ```————————————————版权声明:本文为CSDN博主「import80」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_32613771/article/details/122160440 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |