python3安装pip3-环境准备—之—linux下安装python3和pip3前⾔
centos7 ⾃带有 python,但是却是 python2 版本的 python,如果你想安装个python3怎么办呢?
如果直接删除python2的话,可能会引起其他的问题,因为有些东西是依赖python2的,最好的解决办法是python3和python2共存,新安装⼀个python3的环境。
查看python状态
[root@bogon ~]# cd / #先回到根⽬录[root@bogon/]# whereispython #查看python所在⽬录(/usr/bin下)
python:/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/
[root@bogon/]# cd /usr/bin #切到python⽬录
[root@bogon bin]# ll python* #查看python开头的相关⽂件详情lrwxrwxrwx.1 root root 7 2⽉ 4 16:28 python ->python2
lrwxrwxrwx.1 root root 9 2⽉ 4 16:28 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 4⽉ 11 2018 python2.7[root@bogon bin]#
从查看的结果可以看到python指向的是python2 ,python2指向的是python2.7。那也就是在控制台输⼊python、python2、
python2.7都是运⾏python2.7
如果我们安装⼀个python3.6的环境,让python指向3.6, python2指向python2.7, 那就可以完美的共存了
准备安装python3
安装python3.6之前,先备份python包,因为⼀会要替换这个⽂件
[root@bogon bin]# mvpython python.bak #本步骤,执⾏的命令
以下为查看结果
[root@bogon bin]# ll python* #只是查看执⾏的结果lrwxrwxrwx.1 root root 9 2⽉ 4 16:28 python2 -> python2.7
-
rwxr-xr-x. 1 root root 7216 4⽉ 11 2018 python2.7lrwxrwxrwx.1 root root 7 2⽉ 4 16:28 python.bak -> python2
yum配置
yum是依赖于python2的,所以需要更改yum⾥⾯的python指向,vim打开 /usr/bin/yum
[root@bogon Python-3.6.8]# vim /usr/bin/yum
#! /usr/bin/python修改为#! /usr/bin/python2
打开后输⼊键盘上i键,进⼊编辑状态,把第⼀⾏#! /usr/bin/python修改为#! /usr/bin/python2
编辑完之后,按ESC返回,输⼊:wq保存退出
接着vim打开/usr/libexec/urlgrabber-ext-down
[root@bogon Python-3.6.8]# vim /usr/libexec/urlgrabber-ext-down #! /usr/bin/python 修改为#! /usr/bin/python2
下载安装包
从python安装包的历史版本中
在Centos 7系统⾥⾯新建⼀个⽬录,⽤于存放下载的python3安装包,⽐如:/usr/local/python3
[root@bogon bin]# mkdir /usr/local/python3
cd到 /usr/local/python3⽬录,⽤wget下载3.6.8安装包
正在解析主机 ()... 151.101.24.223, 2a04:4e42:2e::223正在连接
()|151.101.24.223|: 已连接。
已发出 HTTP 请求,正在等待回应...200OK
长度:23010188 (22M) [application/octet-stream]
正在保存⾄: “Python-3.”100%
[=========================================================================>] 23,010,188
2.08MB/s ⽤时 76s2019-02-05 22:17:47 (297 KB/s) - 已保存 “Python-
3.” [23010188/23010188])
解压tgz包
等待下载完成之后会在当前⽬录下出现⼀个tgz包,tar命令解压这个包到当前⽬录就可以
[root@bogon python3]# tar -xvf Python-3.
解压完成后,会多⼀个
[root@bogon python3]# ll
总⽤量22476drwxr-xr-x. 17 501 501 4096 12⽉ 24 11:01 Python-3.6.8
-rw-r--r--. 1 root root 23010188 12⽉ 24 11:01 Python-3.
指定安装⽬录
解压完之后需要编译Python-3.6.8包下的⽂件,先cd过去执⾏完这句命令之后,把python的安装⽬录指定⼀下,这样的话,⾥⾯的⼀些bin⽬录、lib⽬录就都会存放在这个⽬录下⾯。
如果不指定这个安装⽬录的话,最后python的安装⽂件将分散到linux的默认⽬录,不在⼀块。我们指定安装⽬录,以后卸载的话直接删除⽬录就可以⼲净卸载了。
[root@bogon python3]# cd Python-3.6.8[root@bogon Python-3.6.8]# ./configure --prefix=/usr/local/python3Dir
在此处被坑不知道使⽤这个命令会如何./configure --prefix=/usr/local/python3Dir --with-ssl
⼜是不⾏,报错
#不报错的话没有这些
[root@bogon Python-3.6.8]# ./configure --prefix=/usr/local/python3Dir
checking build x86_64-pc-linux-gnu
checking host x86_64-pc-linux-gnu
checkingfor no
< no
< no
checkingfor -- no
checkingfor -- no
linux
checkingfor -- no
checkingfor -- no
no
no
< nopython默认安装路径
configure: error:in `/usr/local/python3/Python-3.6.8':
configure: error: no acceptable C compiler found in$PATH
See `config.log'for more details
[root@bogon Python-3.6.8]# cd ..
[root@bogon python3]# ./configure --prefix=/usr/local/python3Dir-bash: ./configure: 没有那个⽂件或⽬录sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
安装make
接着之前的搞,在当前⽬录/usr/local/python3/Python-3.6.8执⾏make,执⾏完之后,接着输⼊make install
[root@bogon Python-3.6.8]# make# 执⾏时间还挺长的
[root@bogon Python-3.6.8]# make install #执⾏这个命令之后出现python3Dir ⽬录
Traceback (most recent call last):
File"/usr/local/python3/Python-3.6.8/Lib/runpy.py", line 193, in_run_module_as_main"__main__", mod_spec) File"/usr/local/python3/Python-3.6.8/Lib/runpy.py", line 85, in_run_code
exec(code, run_globals)
File"/usr/local/python3/Python-3.6.8/Lib/ensurepip/__main__.py", line 5, it(ensurepip._main()) File"/usr/local/python3/Python-3.6.8/Lib/ensurepip/__init__.py", line 204, in_main
default_pip=args.default_pip,
File"/usr/local/python3/Python-3.6.8/Lib/ensurepip/__init__.py", line 117, in_bootstrap
return _run_pip(args+ [p[0] for p in_PROJECTS], additional_paths)
File"/usr/local/python3/Python-3.6.8/Lib/ensurepip/__init__.py", line 27, in_run_pip
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available #-------不晓得这个错误有没有影响,zipimport。ZipImportError:⽆法解压数据;zlib不可⽤
make: *** [install] 错误 1[root@bogon Python-3.6.8]# #看样⼦是pip的问题,
yum -y install zlib*
正常 make install 截图
做个插⼊,这⾥有个问题
出现原因:readline模块没有安装
# 安装readline模块yum -y install readline-devel
# 进⼊Python安装⽬录
cd/usr/local/python3/Python-3.6.8# 重新执⾏Python的安装make && make install
安装完成
执⾏完毕之后,我们就可以切换到 /usr/local/python3Dir ⽬录下去查看,python3.6在bin⽬录
[root@bogon Python-3.6.8]# cd /usr/local/python3Dir
[root@bogon python3Dir]#lsbin include lib share
[root@bogon python3Dir]# cd bin
[root@bogon bin]#ls2to3 idle3 pydoc3 python3 python3.6-config python3.6m-config pyvenv
2to3-3.6 idle3.6 pydoc3.6 python3.6 python3.6m python3-config pyvenv-3.6
添加软链接
由于系统默认的python是指向python2,前⾯已经删除备份过了,这⾥执⾏把新安装的python3.6指向给/usr/bin/pythonn就可以了
[root@bogon bin]# ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python
[root@bogon bin]# python-V
Python3.6.8[root@bogon bin]# python
Python3.6.8 (default, Feb 5 2019, 22:52:11)
[GCC4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type"help", "copyright", "credits" or "license" for moreinformation.>>>exit()
#输⼊python-V可以看到版本号,这样系统默认的就是python3.6.8版本了,如果想⽤python2.7版本,直接输⼊python2就可以了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论