前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Python、TensorFlow、Jupyter开发环境过程中遇到很多问题。这里将具体步骤分享给大家,可以少走很多弯路。

第一步 安装anaconda

Anaconda在linux依然功能强大,管理工具包、开发环境、Python版本都非常方便。

先在根目录下创建一个文件夹用于存放Anaconda安装包

~# mkdir anaconda

~# cd anaconda

为保障下载速度,建议选择清华大学镜像站

https://mirrors.tuna.tsinghua.edu.cn

选择版本,复制链接

anaconda目录下运行:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh

 

这里可能会报错,多半是无法解析主机地址,也即DNS解析的问题。

解决办法:

登入root

sudo vim /etc/resolv.conf

修改内容为下

nameserver 8.8.8.8 

nameserver 8.8.4.4 

切换到anaconda3所在文件位置

 bash Anaconda3-2019.03-Linux-x86_64.sh

一路yes,直到安装完成

如果中间报错,这是因为之前创建过anaconda3了

解决办法:

bash Anaconda3-2019.03-Linux-x86_64.sh -u

测试一下,python pip也都安装成功了

如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加:

1、在终端输入 vim/etc/profile,打开profile文件。

2、在文件末尾添加一行:

exportPATH=/root/anaconda3/bin:$PATH,保存。

3、让/etc/profile文件修改后立即生效 ,可以使用如下命令: source /etc/profile

 

另外,Anaconda安装完成后会创建一个叫base的默认环境,Linux的终端界面前部出现(base)字样,如不介意,可以跳过这个步骤:

在终端中输入conda deactivate,即可消除base字样,但这是一次性的,再次打开终端依然存在base字样。在.bashrc文件添加命令:conda deactivate可以永久消除base字样。

1.打开一个终端 ,输入命令:gedit~/.bashrc

2.在 .bashrc文件最后面添加命令:conda deactivate

 

第二步 安装虚拟环境

virtualenv 是一个创建隔绝的Python环境的工具,用virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

conda也能配置虚拟环境,可以直接从base克隆

 conda create -n myenv--clone base

但是我还是习惯用virtualenv,conda方法的后续配置方法,大家自行尝试。

1、安装virtualenv

pip install virtualenv

在pip安装包时,系统默认是从aliyun镜像,我试过几个镜像源,发现还是清华的镜像源比较快。我们修改一下配置文件:

mkdir ~/.pip

cd ~/.pip

vi pip.conf

将文件内容修改为以下内容,保存即可。

[global]

index-url =https://pypi.mirrors.ustc.edu.cn/simple/

2、安装虚拟环境,这里选择Python3.7版,环境名设为:myenv

 conda create -n myenv python=3.7

3、激活虚拟环境

 source activate myenv

4、在虚拟环境安装TensorFlow

 pip install --ignore-installed --upgrade packageURL

 

官网提供的URL来自google,由于众所周知的原因。。。所以我们从pypi.org下载安装

pip install --ignore-installed --upgrade https://files.pythonhosted.org/packages/2a/5c/f1d66de5dde6f3ff528f6ea1fd0757a0e594d17debb3ec7f82daa967ea9a/tensorflow-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl

测试一下,安装成功!

 

第三步 搭建Jupyter并远程访问

Anaconda安装成功后,Jupyter也一样安装好了

But这样是不行的,因为juypter集成在anaconda中,并不在虚拟环境myenv下,所以我们需要回到第二步中的激活虚拟环境,然后再次安装jupyter:

pip install jupyter

安装完成后运行#jupyter notebook会报错,提示说找不到该文件之类的,是没有配置环境变量的原因。

解决办法:

vim /root/.jupyter/jupyter_notebook_config.py 

改几个地方:

c.NotebookApp.ip = 'ip地址' #

c.NotebookApp.password = u'秘钥' 

c.NotebookApp.port = 8889 # 端口号,自设

c.NotebookApp.enable_mathjax = True 

c.NotebookApp.notebookdir = "jupyter安装地址"

其中,ip地址可以在控制台实例列表中查询,这里要填写下图私有ip

 

秘钥可以用ipython生成,是的anaconda也集成了ipython,设置一个简单的密码(别忘了,后面还要用),生成的秘钥复制过去即可,代码如下:

查询jupyter安装地址

将上文地址修改为/root/anaconda3/envs/myenv/bin

以上修改完毕,再次运行jupyter notebook

但是,还没有结束呢。

我们还需要设置一下ECS实例的安全规则,入方向、出方向一样。

至此,所有设置完毕!在服务器端运行jupyter notebook,进程在后台运行。

再次在控制台实例列表中查询ip

http://上图第一个IP地址:8889,复制到本地电脑浏览器,输入设置的密码,即可访问了!测试一下,一切正常,大功告成

本文由博客一文多发平台 OpenWrite 发布!

手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter的更多相关文章

  1. 阿里云ECS搭建SVN配置外网

    阿里云ECS搭建SVN后,配置外网启动不了,检查云服务器没发现问题,后来发现是阿里云拦截,需要在阿里云控制台ECS安全组新增如下配置:

  2. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

  3. 在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)

    在阿里云 ECS 搭建 nginx https nodejs 环境(二) 这次主要内容是 如何在 ubuntu 的nginx 下配置 二级域名. 一. 域名解析 首先你需要去到你的 域名服务商那边 进 ...

  4. 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

  5. 在阿里云 ECS 搭建 nginx https nodejs 环境 (一、 nginx)

    首先介绍下相关环境.软件的版本 1.阿里云 ECS . ubuntu-14.04.5 LTS 2.nginx 版本 1.9.2 可能会遇到的问题: 一.在 ssh 服务器上的时候,提示 这个时候需要将 ...

  6. 阿里云ECS搭建开源跳板机jumpserver无法获取验证邮件的问题及解决办法

    这段时间自己在阿里云上搭建了jumpserver3.0,在安装过程中需要输入邮箱smtp地址,输入之后会有一封验证邮件的,但是在阿里云ECS服务器上却无法收到邮件.查阅了阿里云官方的说明: 为什么无法 ...

  7. 阿里云ECS搭建node/mongodb开发环境及部署

    一.前端的er在window或mac上安装开发环境应该再清楚不过了.但在服务器上安装还是有点不同的,毕竟是 centOS,从此不得不走上用命令操作…… 二.前期准备 1.首先,我们去阿里云网站阿里云服 ...

  8. centos(Linux)系统阿里云ECS搭建 jdk,tomcat和MySQL环境,并部署web程序

    之前我对这个东西一无所知,攻击力为0,谢谢各个论坛上面的兄弟们的帮助. 过程: 首先ssh远程登陆: ssh root@你的公网ip ,输入密码 1,jdk我用的版本是jdk-7u80-linux-x ...

  9. 阿里云ECS搭建kubernetes1.11

    环境信息 说明 1.使用kubeadm安装集群 虚拟机信息 hostname memory cpu disk role node1.com 4G 2C vda20G vdb20G master nod ...

随机推荐

  1. js继承机制的实现

    js继承机制的实现 1. 继承的概念 说明继承的最经典的例子:几何形状.实际上,几何形状只有两种,即椭圆形(是圆形的)和多边形(具有一定数量的边).圆是椭圆的一种,它只有一个焦点.三角形.矩形和五边形 ...

  2. p0wnedshell的介绍与使用

    0x01 前言 p0wnedShell是一个用c#编写的攻击性PowerShell主机应用程序,它不依赖于PowerShell .exe,而是在PowerShell runspace环境(. net) ...

  3. [NOIp2009] luogu P1073 最优贸易

    md 我发现跟你们聊天贼没意思. 题目描述 我觉得描述挺好,不改了吧. Solution 容易发现这是道 dfs + DP 的乱搞题. 设 f[x]f[x]f[x] 表示到 xxx 这个点的最优答案. ...

  4. Maven -- 使用Myeclipse创建Maven项目

    使用Myeclipse创建Maven项目有如下几种方式: 1.创建Maven Java项目 1.1 选择新建Maven项目 1.2.选择创建简单项目 1.3.填写项目信息 1.4.创建成功后项目目录结 ...

  5. 图像处理 - ImageMagick 简单介绍与案例

    在客户端我们可以用 PhotoShop 等 GUI 工具处理静态图片或者动态 GIF 图片,不过在服务器端对于 WEB 应用程序要处理图片格式转换,缩放裁剪,翻转扭曲,PDF解析等操作, GUI 软件 ...

  6. day27作业

    FTP需求 客户端可以注册登录 client:输入一个login sever:执行login 客户端登陆后可以选择文件夹上传与下载 client:输入一个upload,download sever:执 ...

  7. unityevent与持续按键触发

    上一篇中提到一种鼠标按下时的事件触发,即采用eventtrigger设定pointerdown和pointerup并绑定相应事件.但是若要实现持续按键则需要对绑定的每个方法都添加实现持续按键方法.所以 ...

  8. Java中数组操作 java.util.Arrays 类常用方法的使用

    任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的 ...

  9. 完美解决Python与anaconda之间的冲突问题

    anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),如果 ...

  10. ArcGIS Engine制作DIY地图工具

    本节将向你介绍,利用ToolStrip制作自定义GIS工具条. 步骤如下: ①向ToolStrip中添加一个Button ②向该Button的lmg属性添加图片素材,并将Button的图片比例(Ima ...