ubuntu16.04安装python3.7,指定为默认python,并修改报错

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实现的一些基本的分析代码。欢迎大家关注,二维码如下:

相关文章列表如下:

### 安装 Python 3.7 与现有 Python 版本共存 为了在 Ubuntu 16.04安装 Python 3.7 同时保持 Python 3.6 的可用性,可以遵循以下方法: #### 添加 PPA 和更新包列表 由于官方源可能不包含最新版的 Python 3.7,可以通过添加第三方 PPA 来获取。执行命令以添加 `deadsnakes/ppa` 这个常用的 Python 发行维护者提供的仓库更新本地索引。 ```bash sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update ``` #### 安装 Python 3.7 利用上述已加入的资源库,通过 APT 包管理器来安装特定版本的 Python 解释器。 ```bash sudo apt install python3.7 ``` 完成此操作之后,系统将会拥有两个不同版本号的 Python 解释程序——原有的 Python 3.6 及新增加的 Python 3.7[^1]。 #### 设置默认解释器(可选) 如果希望设置某个具体版本作为系统的默认 Python 3.x,则可通过创建软链接的方式实现;不过需要注意的是这样做不会影响到 `/usr/bin/python` 或其他显式调用路径下的行为。对于只想改变 `python3` 命令指向的情况来说,推荐使用 `update-alternatives` 工具来进行安全切换而无需破坏原有结构。 ```bash sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2 sudo update-alternatives --config python3 ``` 此时会提示选择要使用的 Python 3.x 版本,输入对应编号即可生效[^2]。 另外一种方式是借助于像 PyEnv 这样的工具来自定义多版本间的快速切换机制,它允许在同一台机器上轻松管理和激活不同的 Python 环境而不必担心冲突问题[^4]。 #### 测试安装成果 最后验证新旧两套环境是否都能正常工作非常重要。这一步骤简单明了:只需分别运行带有 `-V|--version` 参数的不同前缀名(如 `python`, `python3.6`, `python3.7`),观察输出结果确认无误即表示成功完成了目标设定的任务。 ```bash python3.6 --version python3.7 --version ``` 以上过程确保了可以在不影响既有服务的前提下引入新的开发测试平台或者生产环境中所需的更高版本的语言特性支持[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值