前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。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. git基础命令详解

    一些必须要知道的概念 git的三个工作区域:工作目录.暂存区.git仓库. 工作目录:其实就是本地文件磁盘上的文件或目录: 暂存区:是一个文件,保存了下次提交的文件列表信息,一般在git仓库目录中: ...

  2. HTML innerHTML、textContext、innerText

    网址 : https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML 1.innerHTML : 获得.修改元素的用HTML语 ...

  3. HDU 1506 Largest Rectangle in a Histogram(区间DP)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1506 题目: Largest Rectangle in a Histogram Time Limit: ...

  4. Cocos Creator 中 _worldMatrix 到底是什么(中)

    Cocos Creator 中 _worldMatrix 到底是什么(中) 1. 中篇摘要 在上篇中主要做了三件事 简单表述了矩阵的基本知识,以及需要涉及到的三角函数知识 推导了图形变换中 位移 .旋 ...

  5. 共轭梯度法求解协同过滤中的 ALS

    协同过滤是一类基于用户行为数据的推荐方法,主要是利用已有用户群体过去的行为或意见来预测当前用户的偏好,进而为其产生推荐.能用于协同过滤的算法很多,大致可分为:基于最近邻推荐和基于模型的推荐.其中基于最 ...

  6. sql注入100种姿势过waf(一):waf 了解

    仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 首先WAF(Web Application Firewall),俗称Web应用防火墙,主要的目的实际上是用来过滤不正常或者恶意请求包, ...

  7. 数据结构c语言

    这篇博客是为了对数据结构进行一系列的学习整理,包括线性表,栈和队列,串,数组和广义表,树和二叉树,图,动态储存管理,查找,内部排序,外部排序文件进行部分笔记的记录. 基本概念和术语 数据:是对客观事物 ...

  8. Spring Boot入门(二):获取配置文件值

    本篇博客主要讲解下在Spring Boot中如何获取配置文件的值. 1. 使用yaml配置文件 Spring Boot默认生成的配置文件为application.properties,不过它也支持ya ...

  9. 学习了解Shiro框架

    有关Shiro安全框架 实现权限的几种方式 1)通过表来实现 2)shiro框架 3)Spring Security框架 shiro有哪些主要功能 1.授权 访问控制的过程,即确定谁有权访问 2.身份 ...

  10. Java基础(三十六)日期和时间

    1.Date类 (1)无参数构造方法创建的对象可以获取本机当前时间 (2)有参数构造方法创建的对象表示举例计算机系统自身时间的距离为给定的参数 Date date = new Date(); // 当 ...