ubuntu搭建开发环境踩坑实录
谨以此文,记录和ubuntu系统不死不休的搏斗过程,后续待补。
1.双系统安装,windows采用uefi模式安装(优启通可制作uefi的win10安装盘),ubuntu不要划分boot区,而应该划分uefi区,否则,不能被uefi引导
2.软件源都替换成清华或者阿里,blabla,否则被墙得泪流满面
清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
3.显卡驱动照这个来 http://blog.csdn.net/u012759136/article/details/53355781
(1)去nvidia驱动官网下载驱动
(2)卸载原有驱动

(3)禁用nouveau

此处一定要重启!!!!
(4)禁用X服务

将进入命令行界面 Crtl+Alt+F1开启一个终端
(5)给驱动文件赋予权限

(6)安装
这里就是为什么驱动文件目录结构尽量浅且不要含中文的原因
不安装opengl文件的参数一定要加
痛点:中文目录尽量修改成英文,因为需要关闭X窗口用命令行来安装,命令行不支持中文
番外篇:
用此方法安装台式机时,一切顺利,安装我的960m小本本时,遇到麻烦。nvidia-settings显示不正确,后续cuda安装后也不能正常使用,仿佛是缺少了一个什么kernel文件有关。尝试用apt-get install的方式命令行直接安装成功(期间也提示缺少kernel文件,并自行下载了)。如果最后运行tf等库时出现链接问题,记得手动设置一下
sudo ldconfig /usr/local/cuda/lib64
在系统设置 附加驱动中查看推荐的驱动版本号:

关闭lightdm service后执行sudo apt-get install nvidia-375
后来发生了几次驱动崩溃,run文件安装各种问题,使用apt-get顺利填过各种坑,强烈推荐优先使用这种方式来安装!
4.安装cuda8.0
这里选择下载runfile,因为deb的自带驱动程序,会把之前安装的驱动覆盖掉,使用runfile在第一步确认的时候,选择不要覆盖原驱动程序
sudo sh cuda_8.0.61_375.26_linux.run
声明路径环境变量
sudo vim ~/.bashrc
末尾添加:
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
设置用户环境变量
$ sudo vim /etc/profile
export PATH = /usr/local/cuda/bin:$PATH
创建链接文件:sudo gedit /etc/ld.so.conf.d/cuda.conf,文件中加上一行保存:/usr/local/cuda/lib64
5 安装cudnn5.1
5.0配合tensorflow1.2.1有问题,选择cudnn5.1
将解压后的文件复制到相应的文件夹中并建立软链接
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
验证:
(1)nvcc -V
(2)$cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
$make
$sudo ./deviceQuery
如果需要重装,首先进行卸载
apt-get --purge remove Nvidia*
7.科学计算 深度学习 tensorflow 等等等等请服用Anaconda!!!!!!!
在清华镜像源站下载anaconda3(最新版内含python3.6,匹配tensoflow1.4及cndnn6.0)
建立python3.5的虚拟环境(因为钟情于tensorflow1.2.1)
创建 conda create -n name python=3.5
启动 source activate name
退出 source deacivate
在该环境下安装所有python相关包及tensorflow(参照清华镜像文件的提示来安装),及spyder!对,你需要在该虚拟环境下重新安装spyder,而不是使用anaconda3全局的spyder,否则会直接使用python3.6的内核来启动spyder。
ubuntu搭建开发环境踩坑实录的更多相关文章
- ubuntu 搭建开发环境
一. 安装C/C++程序的开发环境 1. sudo apt-get install build-essential //安装主要编译工具 gcc, g++, make 2. sudo apt-get ...
- Centos7下搭建gitbook环境踩坑记录
1.安装npm yum -y install npm 2.配置npm仓 npm config set registry https://mirrors.tencent.com/npm/ 3.安装git ...
- Ubuntu搭建Hadoop的踩坑之旅(一)
本文将介绍如何使用虚拟机一步步从安装Ubuntu到搭建Hadoop伪分布式集群. 本文主要参考:在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境 - CSDN博客 一.所需的环境 ...
- ubuntu java开发环境搭建(jdk+tomcat+eclipse)
一.jdk的安装配置. 1.下载jdk. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- [坑况]——webpack搭建前端环境踩过的坑啊
前言 嘿哈,webpack搭建前端环境踩过的坑啊! 第一个:完全不知所措 webpack4 下面用不了HtmlWebpackPlugin 和 ExtractTextPlugin 解决方案: html- ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 目的: 由于我想在一台电脑上同时开发IOS和Android两 ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...
- Android开发系列之搭建开发环境
接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...
- JAVA实用案例之文件导出(JasperReport踩坑实录)
写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...
随机推荐
- 【贪心】HDU 最少拦截系统
https://vjudge.net/contest/68966#problem/I [题解] http://www.cnblogs.com/kuangbin/archive/2012/08/03/2 ...
- 2016 Multi-University Training Contest 2 solutions BY zimpha
Acperience 展开式子, \(\left\| W-\alpha B \right\|^2=\displaystyle\alpha^2\sum_{i=1}^{n}b_i^2-2\alpha\su ...
- Python基础教程笔记——第5章:条件,循环和其他语句
5.1 print和import的更多信息 1. print()3.0之后print不再是语句,而是函数, >>> print('udg',12,13) udg 12 13 &g ...
- oc温习三:常用函数
参考文章: 算术函数 [算术函数] 函数名 说明 int rand() 随机数生成.(例)srand(time(nil)); //随机数初期化int val = rand()P; //0-49之间的随 ...
- ionic 之 基本布局
目录: 简介 Hybrid vs. Others ionic CSS框架 基本布局 布局模式 定高条块:.bar .bar : 位置 .bar : 嵌入子元素 .bar : 嵌入input 内容:.c ...
- django学习之- 信号
- Django内置的信号Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行其构造方法后,自动触 ...
- 从零开始写STL-二叉搜索树
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的 ...
- CDI Services *Decoretions *Intercepters * Scope * EL\(Sp EL) *Eventmodel
1.Decorators装饰器综述 拦截器是一种强大的方法在应用程序捕捉运行方法和解耦.拦截器可以拦截任何java类型的调用. 这使得拦截器适合解决事务管理,安全性,以及日记记录. 本质上说,拦截 ...
- canvas跟随页面滑动后准确定位到真实坐标
先来了解一个属性: getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bottom.分别表示元素各边与页面上边和左边的距离. var ...
- hdu 4057 Rescue the Rabbit
题意 给出n(n<=10)个串,每个串有个权值,然后让你构造一个长度为l(l<=100)的串,如果他包含给出的串就得到相应的权值,求可能得到的最大权值 解法 AC自动机+DP,很显然要建立 ...