• ubuntu16.04 caffe(GPU模式)安装


    历时5天终于完成了,配置中出现了各种各样的Error,这里记录一下,希望能为正在安装的人提供一点帮助。

    配置中主要参考博客:http://blog.csdn.net/yhaolpz/article/details/71375762#reply

    安装硬件: GeForce GTX 1070/PCIe/SSE2

    安装流程细分为如下10个步骤:

    1、安装依赖包
    2、禁用 nouveau
    3、配置环境变量
    4、NVIDIA驱动安装
    5、安装 CUDA 8.0
    6、验证 CUDA 8.0 是否安装成功
    7、安装 cudnn
    8、安装 opencv3.1
    9、安装 caffe
    10、安装 pycaffe notebook 接口环境

    第1步 安装依赖包

    安装后续步骤或环境必需的依赖包,依次输入以下命令:

    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
    
    sudo apt-get install --no-install-recommends libboost-all-dev
    
    sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
    
    sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    
    sudo apt-get install git cmake build-essential
    

     有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:

    sudo apt-get install git cmake build-essential 
    

     界面提示如下则说明已成功安装依赖包,否则继续安装直到安装成功。

    lai@lai-Precision-Tower-3620:~$ sudo apt-get install git cmake build-essential 
    [sudo] lai 的密码: 
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    build-essential 已经是最新版 (12.1ubuntu2)。
    cmake 已经是最新版 (3.5.1-1ubuntu3)。
    git 已经是最新版 (1:2.7.4-0ubuntu1.3)。
    下列软件包是自动安装的并且现在不需要了:
      bbswitch-dkms dkms lib32gcc1 libcublas7.5 libcudart7.5 libcufft7.5
      libcufftw7.5 libcurand7.5 libcusolver7.5 libcusparse7.5 libnppc7.5
      libnppi7.5 libnpps7.5 libnvblas7.5 libnvrtc7.5 libnvtoolsext1 libnvvm3
      libthrust-dev libvdpau-dev nvidia-cuda-doc nvidia-cuda-gdb nvidia-opencl-dev
      nvidia-prime opencl-headers
    使用'sudo apt autoremove'来卸载它(它们)。
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。
    

     第2步 禁用 nouveau

    安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:

    sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
    

     打开后发现该文件中没有任何内容,写入:

    blacklist nouveau option nouveau modeset=0 
    

    保存时命令窗口可能会出现以下提示:

    ** (gedit:4243): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position
    

     无视此提示~,保存后关闭文件,注意此时还需执行以下命令使禁用 nouveau 真正生效:

    sudo update-initramfs -u
    

     第3步 配置环境变量

    同样使用 gedit 命令打开配置文件:

    sudo gedit ~/.bashrc
    

     打开后在文件最后加入以下两行内容:

    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
    
    export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 
    

     保存退出。

    到这里为止,都还很安全,没有遇见任何的问题,接下来就开始了。

    第4步 安装NVIDIA驱动

    进入 http://www.nvidia.cn/Download/index.aspx?lang=cn,按照自己的配置下载驱动程序。

    为了方便开始安装过程的路径查找,把下载的NVIDIA安装文件移动到 HOME 路径下,然后通过 Ctrl + Alt + F1 进入文本模式,输入帐号密码登录,通过 Ctrl + Alt + F7 可返回图形化模式,在文本模式登录后首先关闭桌面服务:

    sudo service lightdm stop
    

     然后通过 Ctrl + Alt + F7 发现已无法成功返回图形化模式,说明桌面服务已成功关闭,注意此步对接下来的NVIDIA驱动安装尤为重要,必需确保桌面服务已关闭。

    Ctrl + Alt + F1 进入文本模式,然后运行NVIDIA安装文件进行安装,之前我们已经把 NVIDIA安装文件移动至 HOME,直接通过 sh 命令运行安装文件即可:

    sudo sh NVIDIA-linux-x86_64-384.90.run 
    

    其中 NVIDIA-linux-x86_64-384.90.run 是我的NVIDIA安装文件名,而你需替换为自己的NVIDIA 安装文件名,若此时忘记可直接通过 ls 文件查看文件名。

    安装完成后重启电脑。

    reboot
    

     第5步 安装 CUDA 8.0

    进入 https://developer.nvidia.com/cuda-downloads ,依次选择 CUDA 类型然后下载即可。

    上面是我参考的的那篇博文里给的,我在那个网页下载下了的cuda版本是cuda-9.0,坑死我了。我安装了cuda-9.0后,后面的opencv3.1的安装cmake一直出错,百度了半天,应该是opencv3.1.0不支持cuda-9.0,然后我又把cuda-9.0卸了,重新装的cuda-8.0。

    附上下载链接:https://pan.baidu.com/s/1bo4RLCV,提取码4vf7

    安装的时候可以先去官网上下,如果是cuda-8.0那就用官网给的,不是的话可以用上面那个链接。

    安装过程与NVIDIA类似,把下载的 CUDA 安装文件移动到 HOME 路径下,然后通过 Ctrl + Alt + F1 进入文本模式,输入帐号密码登录,通过 Ctrl + Alt + F7 可返回图形化模式,直接通过 sh 命令运行安装文件即可:

    sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs
    

     执行此命令约1分钟后会出现 0%信息,此时长按回车键让此百分比增长,直到100%,然后按照提示操作即可,先输入 accept ,然后让选择是否安装 nvidia 驱动,因为我们之前已经安装过NVIDIA驱动了所以输入“n”。

    剩下的选择则都输入“y”确认安装或确认默认路径安装,开始安装,此时若出现安装失败提示则可能为未关闭桌面服务或在已安装 nvidia 驱动的情况下重复再次安装 nvidia 驱动,安装完成后输入重启命令重启(这一步我不知道是否要做,保险起见我还是做了):

    reboot
    

    重启后登录进入系统,配置 CUDA 环境变量,与第3步相同,使用 gedit 命令打开配置文件:

    sudo gedit ~/.bashrc
    

     在该文件最后加入以下两行并保存

    export PATH=/usr/local/cuda-8.0/bin:$PATH
    
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
    

     使该配置生效:

    source ~/.bashrc
    

     第6步 验证 CUDA 8.0 是否安装成功

    分别执行以下命令:

    cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
    
    sudo make
    
    ./deviceQuery
    

     若看到类似以下信息则说明 cuda 已安装成功:

    ./deviceQuery Starting...
    
     CUDA Device Query (Runtime API) version (CUDART static linking)
    
    Detected 1 CUDA Capable device(s)
    
    Device 0: "GeForce GT 740M"
      CUDA Driver Version / Runtime Version          8.0 / 8.0
      CUDA Capability Major/Minor version number:    3.5
      Total amount of global memory:                 2004 MBytes (2100953088 bytes)
      ( 2) Multiprocessors, (192) CUDA Cores/MP:     384 CUDA Cores
      GPU Max Clock rate:                            1032 MHz (1.03 GHz)
      Memory Clock rate:                             800 Mhz
      Memory Bus Width:                              64-bit
      L2 Cache Size:                                 524288 bytes
      Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
      Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
      Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
      Total amount of constant memory:               65536 bytes
      Total amount of shared memory per block:       49152 bytes
      Total number of registers available per block: 65536
      Warp size:                                     32
      Maximum number of threads per multiprocessor:  2048
      Maximum number of threads per block:           1024
      Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
      Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
      Maximum memory pitch:                          2147483647 bytes
      Texture alignment:                             512 bytes
      Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
      Run time limit on kernels:                     No
      Integrated GPU sharing Host Memory:            No
      Support host page-locked memory mapping:       Yes
      Alignment requirement for Surfaces:            Yes
      Device has ECC support:                        Disabled
      Device supports Unified Addressing (UVA):      Yes
      Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
      Compute Mode:
         < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
    
    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GT 740M
    Result = PASS
    

     我后来发现其实到这一步还是不够的,要验证你安装的cuda是否真的可以使用还需要继续验证,测试cuda的sample

    cd /home/lai/NVIDIA_CUDA-8.0_Samples
    
    make
    

     这样是跑了sample里的所有例子,这样太费时间了,你也可以只跑其中一个例子,进入对应例子的 文件夹,然后用make命令就可以了

    如果成功的话界面应该如下:

    第7步 安装 cudnn

    登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录,不想注册的可从网盘下载:https://pan.baidu.com/s/1hs23HrA

    下载完成后解压,得到一个 cuda 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cuda/include 路径下,然后进行以下操作:

    sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
    

    然后命令行进入 cuda/lib64 路径下,运行以下命令: 

    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.1.10 libcudnn.so.5 #生成软衔接
    sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
    

     这里需要注意第三行命令,网上有人的第三行命令为:

    sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
    

     起初我执行的也是上条链接 libcudnn.so.5.1.5 的命令,但是后面编译caffe时出错,报错内容为 /usr/bin/ld: 找不到 -lcudnn,所以这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:

    locate libcudnn.so
    

     

    可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。

    安装完成后可用 nvcc -V 命令验证是否安装成功,若出现以下信息则表示安装成功:

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2016 NVIDIA Corporation
    Built on Sun_Sep__4_22:14:01_CDT_2016
    Cuda compilation tools, release 8.0, V8.0.44
    

    上面的操作并不能验证cudnn是否安装正确,要验证的话,查看/usr/local/cuda-8.0/incude/目录下,是否有cudnn的include目录中的cudnn.h文件,以及cuda对应的lib64目录下是否有cudnn的lib64目录下的文件,如果有的话则安装成功。为什么这样可以验证cudnn是否安装成功呢?因为实际上,你将cudnn目录下lib64文件夹和ingclude文件夹下的文件复制到cuda中对应的文件夹,你实际上就已经安装成功了,但是这样做的话无法灵活的对cudnn进行升级和替换。

    第8步 安装 opencv3.1

    在这一步我遇到了一个坑就是opencv3.1.0不支持cuda-9.0。

    编译报错

    进入官网 : http://opencv.org/releases.html , 选择 3.1.0 版本的 source , 下载 opencv-3.1.0.zip 

    解压到你要安装的位置,命令行进入已解压的文件夹 opencv-3.1.0 目录下,执行:

    mkdir build # 创建编译的文件目录
    
    cd build
    
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    make -j8  #编译
    

    在执行 make -j8 命令编译到 92% 时可能会出现以下错误:

    modules/cudalegacy/src/graphcuts.cpp:120:54: error: 
    ‘NppiGraphcutState’ has not been declared
    typedef NppStatus (*init_func_t)(NppiSize oSize, 
    NppiGraphcutState** ppState, Npp8u* pDeviceMem);
    

    这是由于opecv3.1与cuda8.0不兼容导致的。解决办法:

     修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容,如图

    编译成功后安装:

    sudo make install #安装
    

     安装完成后通过查看 opencv 版本验证是否安装成功:

    pkg-config --modversion opencv 
    

     第9步 安装 caffe

     首先在你要安装的路径下 clone :

    git clone https://github.com/BVLC/caffe.git
    

     进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :

    sudo cp Makefile.config.example Makefile.config
    

     复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。

    然后修改 Makefile.config 文件,在 caffe 目录下打开该文件:

    sudo gedit Makefile.config
    

     修改Makefile.config文件内容:

    1.应用 cudnn

    将
    #USE_CUDNN := 1
    修改成: 
    USE_CUDNN := 1
    

     2.应用 opencv 版本

    将
    #OPENCV_VERSION := 3 
    修改为: 
    OPENCV_VERSION := 3
    

     3.使用 python 接口

    将
    #WITH_PYTHON_LAYER := 1 
    修改为 
    WITH_PYTHON_LAYER := 1
    

     4.修改 python 路径

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
    修改为: 
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial       
    

     这里贴出 我的Makefile.config文件 方便大家参考

    然后修改 caffe 目录下的 Makefile 文件:

    将:
    NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
    替换为:
    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    
    将:
    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
    改为:
    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
    

     然后修改 /usr/local/cuda/include/host_config.h 文件 :

    将
    #error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
    改为
    //#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
    

     由于我之前安装过CPU模式的caffe,Makefile.config去掉了 # CPU_ONLY: = 1 的注释,这里要加上去,否则后面的编译会出错

    可以开始编译了

    make all -j8
    

    编译成功后可运行测试:

    sudo make runtest -j8
    

     遇到的问题:

    [1]

    In file included from ./include/caffe/util/cudnn.hpp:5:0,
    from src/caffe/util/cudnn.cpp:2:
    /usr/local/cuda/include/cudnn.h:63:26: fatal error: driver_types.h: 没有那个文件或目录
    compilation terminated.
    Makefile:581: recipe for target '.build_release/src/caffe/util/cudnn.o' failed
    make: *** [.build_release/src/caffe/util/cudnn.o] Error 1
    make: *** 正在等待未完成的任务....
    In file included from ./include/caffe/common.hpp:19:0,
    from ./include/caffe/blob.hpp:8,
    from ./include/caffe/layer.hpp:8,
    from src/caffe/layer_factory.cpp:8:
    ./include/caffe/util/device_alternate.hpp:34:23: fatal error: cublas_v2.h: 没有那个文件或目录
    compilation terminated.
    Makefile:581: recipe for target '.build_release/src/caffe/layer_factory.o' failed
    make: *** [.build_release/src/caffe/layer_factory.o] Error 1
    

     可以看出是cuda和cudnn没有安装好,实际上时nvidia驱动的锅,这个时候我用的nvidia驱动并不是官网下载的,而是cuda-9.0残留下来的,后来我把驱动卸载,重新在官网中下载NVIDIA驱动,并重新安装cuda和cudnn后编译成功。

    靠之前的那个卸装链接里的方法,没有办法把cuda-9.0残留下来的nvidia驱动卸装,需要先做另一个操作(http://blog.csdn.net/wingfox117/article/details/46278001)

    sudo apt-get install nvidia-cuda-toolkit
    

     如果上面那个操作不成功,那么先安装一个aptitude, 即在终端输入:

    sudo apt-get install aptitude
    

     安装完之后,使用此工具安装nvidia-cuda-toolkit可用。即在终端输入:

    sudo aptitude install nvidia-cuda-toolkit
    

     卸载了依赖的包,把剩余的东西安装上去了。

    之后再用这个链接里的方法卸装就可以了(卸载方法链接)

    [2]

    .build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
    Makefile:532: recipe for target &#39;runtest&#39; failed
    make: *** [runtest] Error 127

     解决方法

    LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

    export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH    

    一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

    [3]caffe/cudnn.hpp:8:34: fatal error: caffe.h: No such file or director,这是因为protobuf和pillow没有安装,

    安装protobuf

    参考博客:http://www.cnblogs.com/darkknightzh/p/5782992.html,

    安装pillow

    pip install pillow --upgrade -i http://pypi.douban.com/simple
    

     

    如果显示结果为上图所示,则表示 caffe 已经成功安装。

    10、安装 pycaffe notebook 接口环境

    在上一步成功安装 caffe 之后,就可以通过 caffe 去做训练数据集或者预测各种相关的事了,只不过需要在命令行下通过 caffe 命令进行操作,而这一步 pycaffe 的安装以及 notebook 环境配置只是为了更方便的去使用 caffe ,实际上大多数都是通过 python 来操作 caffe 的,而 notebook 使用浏览器作为界面,可以更方便的编写和执行 python 代码。

    首先编译 pycaffe :

    cd caffe
    
    sudo make pycaffe -j8
    

     以下是我编译 pycaffe 时出现的错误:

    python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录
    

    解决方法:

    sudo apt-get install python-numpy
    

    此外也可能是由于 Makefile.config 文件中 python 路径设置错误出现的错误,可根据上一步检查一下,也可能出现别的错误,百度谷歌之~

    编译 pycaffe 成功后,验证一下是否可以在 python 中导入 caffe 包,首先进入 python 环境:

    python
    

     然后导入 caffe :

    import caffe
    

     若不报错则表示 caffe 的 python 接口已正确编译,但是应该不会那么顺利,以下是我导入 caffe 时出现的错误:

    错误1:ImportError: /home/lai/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found(required by /home/lai/caffe/python/caffe/_caffe.so)

    解决方案:根据错误信息可以粗略知道,没有找到GLBCXX 3.4.21。

    我们用一行命令查找一下当前已经有的版本:

    strings /home/lai/anaconda2/bin/../lib/libstdc++.so.6 | grep GLIBCXX
    

     注意lai是我的计算机名,而且我的版本是anaconda2。注意对照自己的修改。

    显示结果:

        GLIBCXX_3.4  
        GLIBCXX_3.4.1  
        GLIBCXX_3.4.2  
        GLIBCXX_3.4.3  
        GLIBCXX_3.4.4  
        GLIBCXX_3.4.5  
        GLIBCXX_3.4.6  
        GLIBCXX_3.4.7  
        GLIBCXX_3.4.8  
        GLIBCXX_3.4.9  
        GLIBCXX_3.4.10  
        GLIBCXX_3.4.11  
        GLIBCXX_3.4.12  
        GLIBCXX_3.4.13  
        GLIBCXX_3.4.14  
        GLIBCXX_3.4.15  
        GLIBCXX_3.4.16  
        GLIBCXX_3.4.17  
        GLIBCXX_3.4.18  
        GLIBCXX_3.4.19  
        GLIBCXX_FORCE_NEW  
        GLIBCXX_DEBUG_MESSAGE_LENGTH  
    

     果然没有GLRBCXX3.4.21。

    没有就装一个呗,反正有anaconda2。

    输入

    conda install libgcc  
    

     再次查看:

        GLIBCXX_DEBUG_MESSAGE_LENGTH  
        GLIBCXX_3.4  
        GLIBCXX_3.4.1  
        GLIBCXX_3.4.2  
        GLIBCXX_3.4.3  
        GLIBCXX_3.4.4  
        GLIBCXX_3.4.5  
        GLIBCXX_3.4.6  
        GLIBCXX_3.4.7  
        GLIBCXX_3.4.8  
        GLIBCXX_3.4.9  
        GLIBCXX_3.4.10  
        GLIBCXX_3.4.11  
        GLIBCXX_3.4.12  
        GLIBCXX_3.4.13  
        GLIBCXX_3.4.14  
        GLIBCXX_3.4.15  
        GLIBCXX_3.4.16  
        GLIBCXX_3.4.17  
        GLIBCXX_3.4.18  
        GLIBCXX_3.4.19  
        GLIBCXX_3.4.20  
        GLIBCXX_3.4.21  
    

     错误2:importerror:numpy.core.multiarray failed to import

    解决方法:

    pip install -U numpy
    

    错误3:Intel MKL FATAL ERROR:Cannot load libmkl_avx2.so or libmkl_def.so

    解决方法:

    conda install nomkl numpy scipy scikit-learn numexpr 
    conda remove mkl mkl-service

    错误4:ImportError:No module named goole.protobuf.internal

    解决方法:

    sudo chmod 777 -R anaconda2 #anaconda2是指文件夹的名字
    conda install protobuf

    如果报错

    解决方法

    sudo apt-get update
    sudo apt-get upgrade
    wget https://bootstrap.pypa.io/get-pip.py
    sudo python3 get-pip.py
    

    最后一步,配置notebook环境

     安装 jupyter :

    sudo pip install jupyter
    

     安装完成后运行 notebook :

    jupyter notebook
    
    或
    
    ipython notebook
    

     会在浏览器中打开notebook, 点击右上角的New-python2, 就可以新建一个网页一样的文件,扩展名为ipynb。在这个网页上,我们就可以像在命令行下面一样运行python代码了。输入代码后,按shift+enter运行,更多的快捷键,可点击上方的help-Keyboard shortcuts查看,或者先按esc退出编辑状态,再按h键查看。

     
  • 相关阅读:
    尚硅谷SpringBoot
    try-with-resources
    Spring中的InitializingBean接口
    @Deprecated注解
    OpenStack 九大组建介绍
    rainbow 实现云上迁移
    推送一个私有镜像到harbor
    搭建企业级私有registry Harbor
    Linux 部署 jenkins
    OpenStack 发放虚拟机流程
  • 原文地址:https://www.cnblogs.com/lindaxin/p/7738784.html
Copyright © 2020-2023  润新知