ubuntu16.04系统自带的python目前已经不是最新版本了,而有些python程序对于python的版本有一定要求,此处详细记录一下安装python3.7的详细过程:
1、查看python目前的版本
首先可以查看一下当前python的版本,可以直接在终端输入python,回车之后就可以看到提示信息,也可以输入python -V,显示版本详细信息。当然有的时候可能需要使用python2 或者python3 来指定一下是python2.x 还是python3.x
2、直接使用apt-get 安装
root@Ubuntu:~# apt-get install python
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
python 已经是最新版 (2.7.12-1~16.04)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 42 个软件包未被升级。
默认安装的是python2.x,那就指定一下python3
root@Ubuntu:~# apt-get install python3
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
python3 已经是最新版 (3.5.1-3)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 42 个软件包未被升级。
直接指定python3.7
root@Ubuntu:~# apt-get install python3.7
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 python3.7
E: 无法按照 glob ‘python3.7’ 找到任何软件包
E: 无法按照正则表达式 python3.7 找到任何软件包
3、手动安装python3.7.7
下载源代码压缩包:
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
解压:tar -zxvf Python-3.7.7.tgz
切换目录: cd Python-3.7.7
配置:运行./configure
编译:make
安装:sudo make install
至此,python3.7安装完成,python3.7的可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/include,其它的资源文件放在/usr /local/share。
测试:终端输入python3.7 应该能够正常输出并进入python3.7的运行环境。
切换python3.7为默认python版本
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3.7 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/bin/pip3.7 /usr/bin/pip
至此应该配置完成。
4、报错解决
如果运行python是报错如下:
root@Ubuntu:/etc# python
ImportError: No module named site
尤其是python3.7运行正常的情况下,报出这种错误,这应该是python的相关配置不对,python指向的不是python3.7。可以采用which python 查看python命令的具体路径。然后在/etc/profile文件的$PATH变量中,将python3.7的bin目录路径添加,注意需要放在开头,而不是末尾,即:
应该是export PATH=$PYTHONHOME/bin:$PATH
而不是export PATH=$PATH:$PYTHONHOME/bin
其中的$PYTHONHOME表示的是python3.7的绝对路径,替换为您的python3.7路径即可。在保存profile文件之后,在命令行source /etc/profile即可解决该问题。
注意:不要在命令行中直接运行export PATH=$PYTHONHOME/bin:$PATH 命令,该方式只支持修改当前终端窗口中的path变量,如果重新启动还是原来的path。
-------------------- 正文到此结束------------------------
推荐一个公众号:健哥聊量化,会持续推出股票相关基础知识,以及python实现的一些基本的分析代码。欢迎大家关注,二维码如下:
相关文章列表如下: