手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter
前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用。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的更多相关文章
- 阿里云ECS搭建SVN配置外网
阿里云ECS搭建SVN后,配置外网启动不了,检查云服务器没发现问题,后来发现是阿里云拦截,需要在阿里云控制台ECS安全组新增如下配置:
- 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)
在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...
- 在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)
在阿里云 ECS 搭建 nginx https nodejs 环境(二) 这次主要内容是 如何在 ubuntu 的nginx 下配置 二级域名. 一. 域名解析 首先你需要去到你的 域名服务商那边 进 ...
- 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境
使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...
- 在阿里云 ECS 搭建 nginx https nodejs 环境 (一、 nginx)
首先介绍下相关环境.软件的版本 1.阿里云 ECS . ubuntu-14.04.5 LTS 2.nginx 版本 1.9.2 可能会遇到的问题: 一.在 ssh 服务器上的时候,提示 这个时候需要将 ...
- 阿里云ECS搭建开源跳板机jumpserver无法获取验证邮件的问题及解决办法
这段时间自己在阿里云上搭建了jumpserver3.0,在安装过程中需要输入邮箱smtp地址,输入之后会有一封验证邮件的,但是在阿里云ECS服务器上却无法收到邮件.查阅了阿里云官方的说明: 为什么无法 ...
- 阿里云ECS搭建node/mongodb开发环境及部署
一.前端的er在window或mac上安装开发环境应该再清楚不过了.但在服务器上安装还是有点不同的,毕竟是 centOS,从此不得不走上用命令操作…… 二.前期准备 1.首先,我们去阿里云网站阿里云服 ...
- centos(Linux)系统阿里云ECS搭建 jdk,tomcat和MySQL环境,并部署web程序
之前我对这个东西一无所知,攻击力为0,谢谢各个论坛上面的兄弟们的帮助. 过程: 首先ssh远程登陆: ssh root@你的公网ip ,输入密码 1,jdk我用的版本是jdk-7u80-linux-x ...
- 阿里云ECS搭建kubernetes1.11
环境信息 说明 1.使用kubeadm安装集群 虚拟机信息 hostname memory cpu disk role node1.com 4G 2C vda20G vdb20G master nod ...
随机推荐
- Qt5教程: (2) 信号与槽
1. 新建工程 新建一个"Qt Widgets Application"工程 2. 添加按钮 一个Qt工程会有很多个控件, 如果把逻辑代码都写在main函数里, main函数会非常 ...
- odoo联调补充
odoo联调补充(剑飞花 373500710) 安装某些py插件包时需要vc++2008发行包,可访问下面地址. 安装python-ldap一定要用支持9.44postgresSQL的exe安装,同样 ...
- 百万年薪python之路 -- 闭包
2.闭包 闭包的定义: 闭包是嵌套在函数中的函数. 闭包必须是内层函数对外层函数的变量(非全局变量)的引用. 一句话定义就是:在嵌套函数内,对非全局变量 (且不是本层的变量)的引用 如何判断判断闭包? ...
- 日天老师的django相关博客
Yuan先生的博客网址 1 Web应用 https://www.cnblogs.com/yuanchenqi/articles/8869302.html 2 http协议 https://www.cn ...
- Sublime Text 3 安装 Package Control 结果返回 275309,找不到 Install Package
打开 Preferences->Settings , 查看 ignored-packages 数组中是否有 Package Control,如果有,删除即可.
- 课堂动手动脑验证以及自定义异常类实现对异常处理——java异常类
异常(exception):发生在程序执行期间,表明出现了一个非法运行的情况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象.例如:数组越界和被0除. 代码验证: package test ...
- Spring Boot 2.X(十四):日志功能 Logback
Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...
- redis is configured to save RDB snapshots
Redis被配置为保存数据库快照,但它目前不能持久化到硬盘.用来修改集合数据的命令不能用 原因: 强制关闭Redis 快照导致不能持久化. 解决方法: 运行 config set stop-write ...
- 使用Spring Data JPA进行数据分页与排序
一.导读 如果一次性加载成千上万的列表数据,在网页上显示将十分的耗时,用户体验不好.所以处理较大数据查询结果展现的时候,分页查询是必不可少的.分页查询必然伴随着一定的排序规则,否则分页数据的状态很难控 ...
- JavaScript数据在内存中储存方式
详情来源于个本人博客: https://shengchangwei.github.io/al-data/ > Js的数据类型包括两种: 基本数据类型:String.Boolean.Number. ...