Centos下更新Python到3.x

参考了知乎用户-爬上墙头大佬的文章。
Carlos Blog大佬的内容会更全面一些,但是链接似乎会被墙掉,所以把一些问题写在了这里。

安装wget

# yum install wget

下载新版本

这里用的版本是 Python3.7.0

# wget https://www.python.org/ftp/python/3.5.2/Python-3.7.0.tgz

解压缩

# tar -zxvf Python-3.7.0.tgz

创建一个空的文件夹,用来安装

说实话,这一步说我是没有走的,但是看好几篇文章都有这一步,所以我写上了

# mkdir /usr/local/python3
# yum install openssl-devel -y

编译并安装

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

遇到错误

zipimport.ZipImportError: can't decompress data; zlib not available

解决方案:

是因为缺少zlib 的相关工具包导致的

# yum -y install zlib*

又遇到一个问题

Traceback (most recent call last):
  File "/home/carlos/Python-3.7.0/Lib/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/carlos/Python-3.7.0/Lib/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/carlos/Python-3.7.0/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/home/carlos/Python-3.7.0/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/home/carlos/Python-3.7.0/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/home/carlos/Python-3.7.0/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal
  File "/tmp/tmpgcm2i4lh/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/__init__.py", line 42, in <module>
  File "/tmp/tmpgcm2i4lh/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/cmdoptions.py", line 16, in <module>
  File "/tmp/tmpgcm2i4lh/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/index.py", line 25, in <module>
  File "/tmp/tmpgcm2i4lh/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/download.py", line 39, in <module>
  File "/tmp/tmpgcm2i4lh/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
  File "/home/carlos/Python-3.7.0/Lib/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'

解决方案:

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可

# yum install libffi-devel -y

创建软链接

# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

配置 yum

升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:

# vi /usr/bin/yum

同时修改:

# vi /usr/libexec/urlgrabber-ext-down

#!/usr/bin/python改为#!/usr/bin/python2.7,保存退出即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值