前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。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. Qt5教程: (2) 信号与槽

    1. 新建工程 新建一个"Qt Widgets Application"工程 2. 添加按钮 一个Qt工程会有很多个控件, 如果把逻辑代码都写在main函数里, main函数会非常 ...

  2. odoo联调补充

    odoo联调补充(剑飞花 373500710) 安装某些py插件包时需要vc++2008发行包,可访问下面地址. 安装python-ldap一定要用支持9.44postgresSQL的exe安装,同样 ...

  3. 百万年薪python之路 -- 闭包

    2.闭包 闭包的定义: 闭包是嵌套在函数中的函数. 闭包必须是内层函数对外层函数的变量(非全局变量)的引用. 一句话定义就是:在嵌套函数内,对非全局变量 (且不是本层的变量)的引用 如何判断判断闭包? ...

  4. 日天老师的django相关博客

    Yuan先生的博客网址 1 Web应用 https://www.cnblogs.com/yuanchenqi/articles/8869302.html 2 http协议 https://www.cn ...

  5. Sublime Text 3 安装 Package Control 结果返回 275309,找不到 Install Package

    打开 Preferences->Settings , 查看 ignored-packages 数组中是否有 Package Control,如果有,删除即可.

  6. 课堂动手动脑验证以及自定义异常类实现对异常处理——java异常类

    异常(exception):发生在程序执行期间,表明出现了一个非法运行的情况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象.例如:数组越界和被0除. 代码验证: package test ...

  7. Spring Boot 2.X(十四):日志功能 Logback

    Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...

  8. redis is configured to save RDB snapshots

    Redis被配置为保存数据库快照,但它目前不能持久化到硬盘.用来修改集合数据的命令不能用 原因: 强制关闭Redis 快照导致不能持久化. 解决方法: 运行 config set stop-write ...

  9. 使用Spring Data JPA进行数据分页与排序

    一.导读 如果一次性加载成千上万的列表数据,在网页上显示将十分的耗时,用户体验不好.所以处理较大数据查询结果展现的时候,分页查询是必不可少的.分页查询必然伴随着一定的排序规则,否则分页数据的状态很难控 ...

  10. JavaScript数据在内存中储存方式

    详情来源于个本人博客: https://shengchangwei.github.io/al-data/ > Js的数据类型包括两种: 基本数据类型:String.Boolean.Number. ...