python安装
# python安装3.7
# Linux下Python2.x升级Python3.7
# 一、查看当前Python版本
[root@localhost ~]# python -V
Python 2.7.5
1
2
2
# 二、下载新的python包并安装
进入Python官网(https://www.python.org),选择需要的版本。此处我选择Python3.7.3版本
[root@localhost ~]# yum install -y gcc gcc-c++ zlib zlib-devel readline-devel
[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
[root@localhost ~]# tar xvf Python-3.7.3.tar.xz
[root@localhost ~]# cd Python-3.7.3/
[root@localhost Python-3.7.3]# ./configure
[root@localhost Python-3.7.3]# make
[root@localhost Python-3.7.3]# make install
1
2
3
4
5
6
7
2
3
4
5
6
7
# 三、验证
[root@localhost ~]# python -V #一个是旧版本,一个是新版本
Python 2.7.5
[root@localhost ~]# python3 -V
Python 3.7.3
1
2
3
4
2
3
4
# 四、设置3.X为默认版本
查看 Python 的路径,在 /usr/bin 下面。可以看到 Python 链接的是 Python 2.7,所以,执行 Python 就相当于执行 Python 2.7。
[root@localhost ~]# ls -al /usr/bin | grep python
lrwxrwxrwx. 1 root root 7 3月 24 2020 python -> python2
lrwxrwxrwx. 1 root root 9 3月 24 2020 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 10月 31 2018 python2.7
1
2
3
4
2
3
4
将原来 Python 的软链接重命名:
[root@localhost ~]# mv /usr/bin/python /usr/bin/python.bak
1
将 python 链接至 python3:
[root@localhost ~]# ln -s /usr/local/bin/python3 /usr/bin/python
1
# 五、配置yum
升级 Python 之后,由于将默认的 Python 指向了 Python3,yum 不能正常使用,需要编辑 yum 的配置文件,此时:
[root@localhost ~]# yum list
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
1
2
3
4
5
2
3
4
5
修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down,将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。
[root@localhost ~]# vi /usr/bin/yum
[root@localhost ~]# vi /usr/libexec/urlgrabber-ext-down
1
2
2
# 安装遇到的问题
# ModuleNotFoundError: No module named '_ctypes'
如果安装遇到报错 ModuleNotFoundError: No module named '_ctypes' 的解决方法如下:
[root@localhost ~]# yum install libffi-devel
[root@localhost ~]# ./configure --enable-optimizations
[root@localhost ~]# make && make install
1
2
3
2
3
# Python3以上版本安装sqlite3
首先大概会报一下两个问题:
no mudole named _sqlite3
mportError: dynamic module does not define module export function (PyInit__caffe)
1
2
3
2
3
其实这两个问题都是因为python3以上版本不太支持sqlite3,下面的方法是亲测没问题,来自( sparkexpert大神) (1)安装sqlite3的包
$ wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate
$ tar zxvf sqlite-autoconf-3170000.tar.gz
$ cd sqlite-autoconf-3170000
$ ./configure --prefix=/usr/local/sqlite3 --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1"
1
2
3
4
2
3
4
(2)对python3进行重新编译
$ cd Python-3.6.0a1
$ LD_RUN_PATH=/usr/local/sqlite3/lib ./configure LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
$ LD_RUN_PATH=/usr/local/sqlite3/lib make
$ LD_RUN_PATH=/usr/local/sqlite3/lib sudo make install
1
2
3
4
2
3
4
经过上述步骤后,应该就没有什么问题了,控制台输入python3进入环境
import sqlite3没报错说明ok
上次更新: 2023/05/07, 23:16:56