vitrualBox+ubuntu16.04安装python3.6最新教程及详细步骤
作者:Frio 发布时间:2021-06-26 05:34:38
因为这两天在学习深度学习需要用到ubuntu+python3.6版本,所以就按照网上的教学安装,但是ubuntu16.04自带的是python2.7和3.5版本,所以需要另外安装。但是安装了半天浪费了一整天时间踩了各种坑。最后终于成功了。因此写下此教程帮助后人,免走歪路。
以下是一路安装时的一些tips:
安装ubuntu16时,最后会下载语言包,因为是用的国外的源,需要花费大量时间,因此可以先点击skip跳过。后面修改源再来继续安装。
在搜索里找到软件和更新,里面可以切换下载源,我选的是阿里云的。
然后在搜索里找到语言支持,进去下载好语言包就OK啦。接下来是重头戏,安装python3.6
安装python3.6
1.个人按照网上的教程安装发现通过以下指令无法添加和安装
sudo add-apt-repository ppa:jonathonf/python-3.6 //不用这个
最好去https://www.python.org/ftp/python/3.6.5/里下载好安装包,通过共享文件夹将安装包放到ubuntu里。
2.若共享文件夹无法访问
将当前用户名添加到vboxsf这个用户组中(我的用户名是frio),重启系统就ok
sudo adduser frio vboxsf
3.然后就是安装python3.6的过程
在共享文件夹里右键打开终端,即可访问此文件夹了
然后解压文件
tar xfz Python-3.6.5.tgz
注意:这里使用xfz命令,而不建议使用-xvzf命令,因为其释放的文件夹需要root权限才可以更改或者删除。
进入解压的文件夹 ,添加配置
cd Python-3.6.5/
./configure "--prefix=/usr/bin/python3.6"
要配置的是安装Python需要的文件夹。配置完成后,终端会显示下面一段话,可以选择无视它,不影响后续操作。
If you want arelease build with all optimizations active (LTO, PGO, etc),
please run./configure –enable-optimizations
编译源码
sudo make
编译过程需要几分钟,可能会报错,具体看你安装的gcc版本。
执行安装
sudo make install
安装过程持续几分钟,安装成功后,安装的Python就在计算机/usr/bin/python3.6文件夹之中。
这里有可能会报缺少zlib依赖包安装失败
解决办法
安装 GCC toolchain
sudo apt install build-essential
安装各种依赖关系
sudo apt install libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev
到这里再重新执行安装。
修改默认Python版本
Ubuntu16.04版本集成了Python2.7及3.5版本,系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7
我们需要先把这个默认链接删除,再新建一个python3.6的软链接.。首先要确保终端的指针已经退回根目录,再进行以下操作。
需要删除原有的Python链接文件:
rm /usr/bin/python
注意如果终端提示:rm: 无法删除'/usr/bin/python':权限不够,那么就需要使用sudo或者打开root权限删除链接。
建立指向Python3.6的链接,权限不够的话使用root或者sudo加命令:
ln -s /usr/bin/python3.6/bin/python3.6 /usr/bin/python
查询Python版本
python@ubuntu:~$ python -V
Python 3.6.5
到这里就安装成功啦
总结
以上所述是小编给大家介绍的vitrualBox+ubuntu16.04安装python3.6最新教程及详细步骤网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/fyhocu/article/details/103946474


猜你喜欢
- 本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单
- 网上有不少生成缩略图的ASP组件。若你的虚拟空间不支持注册新组件,可能会感觉自己的网站失色不少。心晴不才,结合网上资源写了个无组件生成缩略图
- JS中作用域的概念: 表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。Javascript的作用域只有两种
- 前言很多前人曾说过,深度学习好比炼丹,框架就是丹炉,网络结构及算法就是单方,而数据集则是原材料,为了能够炼好丹,首先需要一个使用称手的丹炉,
- 浅析golang切片截取(删除)功能1. 引言golang的切片被认为是和C++的vector容器类似,都可以认为是动态数组,但又不完全一样
- 在Python中,有些开源项目中的方法返回结果为self. 对于不熟悉这种用法的读者来说,这无疑使人困扰,本文的目的就是给出这种语法的一个解
- 本文实例讲述了Python实现监控程序执行时间并将其写入日志的方法。分享给大家供大家参考。具体实现方法如下:# /usr/bin/pytho
- python中for循环用于针对集合中的每个元素的一个代码块,而while循环能实现满足条件下的不断运行。使用while循环时,由于whil
- 统计每天的数据量变化,数据量变动超过一定范围时,进行告警。告警通过把对应的参数传递至相应接口。python程序如下#!/usr/bin/py
- 1.列表Stepping这是一个 step 参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用 step 参数来反转整数。看看下面的
- 内存溢出问题是参加kaggle比赛或者做大数据量实验的第一个拦路虎。以前做的练手小项目导致新手产生一个惯性思维——读取训练集图片的时候把所有
- 0. 前言本节中,我们使用策略梯度算法解决 CartPole 问题。虽然在这个简单问题中,使用随机搜索策略和爬山算法就足
- 一、条件控制Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,而计算机很多自动化任务,也是根据
- 本文通过Python3+pyqt5实现了python Qt GUI 快速编程的19章的页面索引器应用程序例子。/home/yrd/eric_
- 写在前面Go语言在很多方面天然的具备很多便捷性,譬如网络编程,并发编程。而通道则又是Go语言实现并发编程的重要工具,因为其承担着通道之间互相
- 一、TensorTensor(张量是一个统称,其中包括很多类型):0阶张量:标量、常数、0-D Tensor;1阶张量:向量、1-D Ten
- 最近的对图像数据进行处理的时候需要将图像中的某个颜色替换为另一个颜色,但是网络上找到的方法都是通过对图像的遍历进行替换,实在是太费时了!刚开
- 本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下实现对'NB',&nbs
- Python遍历numpy数组下面是示例代码:import numpy as npnum = np.zeros([2, 3])[rows,
- 本文实例讲解了javascript实现无缝上下滚动的代码,分享给大家供大家参考,具体内容如下js实现上下无缝滚动的原理是这样的:1、首先给容