jupyter notebook怎么写python代码_如何在Jupyter Notebook中使用Python虚拟环境?

如何在使用Jupyter Notebook时,解决Python虚拟环境间的切换问题?本文一步步帮你拆解。希望你能够避免踩坑的痛苦,把更多的时间花在愉快的编程上。

痛点

Python目前有两个主版本并存,这很让人苦恼。

一般人对于软件,总是抱持着“喜新厌旧”的心态。见到小红点儿,就忍不住升级。然而对Python来说,这条规律不大适用。

虽然Python 3有许多优于Python 2的特性,但是Python 2的生态系统更为完善,支持的包更多。因为生态系统内部的依赖关系,许多软件包的运行说明会直接指定“仅适用于Python 2.7版本”。

所以,你会在不同的应用场景下切换这两种Python版本。

我本人比较懒,哪个版本支持的软件包多,更适合我使用,我就用哪个。所以,我安装Anaconda这个Python集成运行环境的时候,选择的是2.7版本。

但是近几天,我遇到了点儿麻烦。

为了进一步学习和掌握学Tensorflow,我买了本书。

这本书配套代码的调试环境,是Jupyter Notebook,Python版本是3.6。

我自然不可能删除掉原先安装的Anaconda,重装一个3.6版本。那样我日常工作就无法进行了。

我选择的方式,是安装虚拟环境。

虚拟

在虚拟环境里,各种软件包的版本,都由你来指定。它们和系统默认Python环境是相互隔离的,因此互不干扰。

我给这个用于学习Python 3版本Tensorflow的虚拟环境起了个好记的名字,叫做tfpy3。

进入终端环境,使用Anaconda的环境创建命令,一行代码就可以创建成功。

conda create -n tfpy3 python=3

我在~/learn/实验目录下创建了一个名为tensorflow的文件夹。创建好后进入。

cd learn/tensorflow

下面我们呼唤刚才创建的虚拟环境:

source activate tfpy3

这时你会发现终端提示符前面出现了特定虚拟环境标识。

虚拟环境顺利加载。

在这个虚拟环境下,我们就可以安装针对Python 3.6的最新版Tensorflow了。

pip install tensorflow

好了,1.3.0版本tensorflow安装成功。下面我们就呼叫Jupyter Notebook,来编码吧!

jupyter notebook

咦?为什么创建新笔记本的选项中,只有默认的Python 2和后来安装过的R?

tfpy3虚拟环境哪里去了?根本找不到!

插件

头痛半晌,突然想起古人那句:吾尝终日而思矣,不如须臾之所学也。

对啊,上网搜!

查询了一下,很快发现了解决方案。原来为了让Jupyter Notebook支持虚拟运行环境,需要在Anaconda里安装一个插件。

回到终端下面,用C-c退出目前正在运行的Jupyter Notebook Server,然后执行:

conda install nb_conda

再重新开启Jupyter Notebook:

jupyter notebook

这下我们就能看到差别了——除了最新安装设定的tfpy3外,之前用Anaconda设置过的其他虚拟环境也都可以在此选择使用。太棒了!

我们选择刚刚创建的tfpy3环境。

执行:

import tensorflow as tf

tf.VERSION

第二行语句是反馈tensorflow的版本。

1.3.0,没错!这就是刚刚我们安装的最新Tensorflow版本。

下面就是愉快的编码时间了。加油!

讨论

你在使用Python的过程中,遇到过切换版本的问题吗?你是怎么解决的?有没有更为便捷的方法?你更喜欢Python 2还是3?为什么?欢迎留言,分享给大家,我们一起交流讨论。

如果你对我的文章感兴趣,欢迎点赞,并且微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。

如果本文可能对你身边的亲友有帮助,也欢迎你把本文通过微博或朋友圈分享给他们。让他们一起参与到我们的讨论中来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmd检查java_如何通过cmd查看java环境

展开全部JAVA环境变量设置一、下载JDK。62616964757a686964616fe4b893e5b19e31333363376561下载后是一个可执行程序,双击安装,安装路径为C:\Program Files\Java\jdk1.6.0_22\(当然,其他路径也可以),如下图:二、设置环境…

ios 检测是否联网_秋招|阿里 iOS 五轮面经分享,已收到阿里的意向书

作者:aaaaaazzzz链接:https://www.nowcoder.com/discuss/302113来源:牛客网感觉牛客很少看到iOS的面经了,今天收到了阿里的意向书,来分享下面经,希望大家都Offer~!总体感觉面试官都非常好&#…

java spring框架 注解_spring框架之注解的使用

原标题:spring框架之注解的使用今天是刘小爱自学Java的第122天。感谢你的观看,谢谢你。学习内容安排如下:Spring注解的使用。JavaWeb项目的搭建。Spring的Web集成。本来还计划学Spring的junit测试集成的,结果又没时间了。一、Spri…

idea 代码格式化插件_IDEA非常棒的插件,阿里巴巴约定成文的代码公约规范

无规矩,不方圆。每个人都有自己的编码风格,每个公司也有自己的代码规范。规范的代码,无论是自己日常维护,还是以后接盘者来接盘,都能快速定位上手,大大提高效率。作为一个IDEA万年爱好者,这些最…

java der pem_JAVA解析各种编码密钥对(DER、PEM、openssh公钥)

一、DER编码密钥对先说下DER编码,是因为JCE本身是支持DER编码密钥对的解析的,可以参见PKCS8EncodedKeySpec和X509EncodedKeySpec.DER编码是ASN.1编码规则中的一个子集,具体格式如何编排没有去了解,但最终呈现肯定的是一堆有规律的…

switch最大选项数目_随时随地学习C语言之3—if和switch哪个效率高?

之前学习C语言的时候,我经常有一个疑问,既然有if-else if-else结构的多分支选择语句,C语言为何还要制定switch这种多分支选择语句呢?直到两年前在分析ARM平台C语言反汇编代码的时候,才终于明白了switch-case这种结构存…

android java 退出程序_android开发两种退出程序方式(killProcess,System.exit)

KillProcess:在android中我们如果想要程序的进程结束可以这样写:android.os.Process.killProcess(android.os.Process.myPid());这样就可以从操作系统中结束掉当前程序的进程。注意:android中所有的activity都在主进程中,在Androi…

java 验证码_Java - 验证码 - 由Kaptcha组件实现

本文是基于SpringBoot整合Kaptcha验证码实现Kaptcha 是一个可高度配置的实用验证码生成工具,在项目开发中能够非常方便实现验证码先来看一个由 Kaptcha 制作的验证码效果图快速进入如何进行配置与实现的第1步:配置 Kaptcha 的依赖库com.github.penggle …

bat关闭java_通过bat脚本停止java进程的三个方法

通过bat脚本停止java进程的三个方法1.拷贝java.exe启动时复制java.exe程序修改进程映像名,然后通过映像名杀进程。栗子过程操作拷贝程序拷贝一份java.exe程序,重名为tstop.exe,放在PATH下。修改启动脚本echo offtitle tstoptstop -jar …/lib/laucher.ja…

onclick 获取img 里面的id_红魔5S游戏手机如何解锁bl获取第三方面具root权限

自从苹果阵营发布S系列,安卓系列也学习苹果的步伐,开始发布S系列,这不努比亚也发不了今年夏天的游戏手机,红魔5S游戏手机。红魔5S相对于红魔5其实从配置来看,三大件配置变化并不大,主要还是细节上的一些提升…

java 工厂模式的写法_设计模式-工厂模式

一、概述什么是工厂模式?工厂模式(Factory Pattern)是最常见的一种设计模式之一。它主要是提供一种创建对象的最佳方法!为什么要学习工厂模式?与通过new来创建对象不同,使用工厂模式创建对象不会对客户端暴露创建逻辑,…

jackson 序列化_jackson序列化与反序列化的应用实践

作者 | zhouweixin 来源 | urlify.cn/iEbiAz66套java从入门到精通实战课程分享1 相关概念序列化: 把对象转换为字节序列的过程称为对象的序列化反序列化: 把字节序列恢复为对象的过程称为对象的反序列化2 序列化的作用用于把内存中的对象状态保存到一个文件中或者数据库中用于网…

layui中table监听单元格_layui table表格 监听头删除不请求后台

表格jsfunction getTable() {var table layui.table //表格var username$("#username").val();//执行一个 table 实例table.render({elem: #demo,where: {username:username}//传值,method: post//请求方式,height: 420,url: ${path}/sys/admin/getAllUser //数据接…

java mqtt客户端_基于 t-io 实现一个 mqtt5 协议之 mica-mqtt

一、简介 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 IBM 发布。目前使用比较广泛的就是 mqtt 3.1.1(2014年制定),mqtt 5.0&…

python的gui库_tkinter——python的GUI标准库

-- coding:utf-8 --import tkinter as tkwindowtk.Tk()#一个窗口对象window.title("tkinter")#窗口名称window.geometry("200x200")#字符串形式表示长宽 中间是xlatk.Label(window,text"我是鬼畜窗口\nnb",bg"red",font("Ariel&q…

java rc4_nodejs 和 java 进行 rc4 加密得到的结果不一样

同时在对一个buffer<03 01 00 00 02 00 00 00>进行加密。java 和 c 得到的结果是CA 66 C4 5D 90 E7 30 01nodejs 得到的结果是6f 61 f8 95 ab ba aa 90不一样 什么原因导致的呢&#xff1f;import java.nio.ByteBuffer;import javax.crypto.Cipher;import javax.crypto.s…

python3闭包通俗解释_Python|闭包、装饰器,简单的实例,通俗的理解

闭包和装饰器都是属于函数的语法范畴&#xff0c;是在函数定义中以另一个函数做为形参的语法机制。1 闭包(Closurer)闭包是定义内部函数的一种语法规则&#xff0c;要理解闭包&#xff0c;请看下面的实例&#xff1a;def outer(t):....print(t)....def inner(i):........return…

java自我介绍_JAVA面试技巧之自我介绍

【如何进行自我介绍】自我介绍这个问题&#xff0c;不用多说了&#xff0c;面试必定会问&#xff01;如果想要在自我介绍的时候就能够打动面试官&#xff0c;吸引面试官对我们的兴趣&#xff0c;那么像我们这种接受过Java培训的程序员的自我介绍当然不能和应届生或者其他非技术…

java excel 操作 poi_Java使用apache poi进行excel相关操作

一.基本介绍1.1、Apache POI介绍Apache POI是一个可以进行微软的文档进行开源库&#xff0c;可以操作的文档类型包括word、ppt、excel、visio、outlook....本文主要针对Apache POI对excel的操作进行介绍&#xff0c;主要包括如何创建一个excel、录入数据、读取excel数据的方式。…

程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...

本次安捷秀又迎来了一个大版本更新&#xff0c;除了大家呼声很高的「实体模块导入 Excel 」外&#xff0c;还有「批量编辑实体」&#xff0c;「支持右击修改」以及针对海外用户的「全页面支持英文」等功能的新增与优化&#xff0c;一起来看看吧。导入功能优化AGILESHOT&#xf…