实验一 Anaconda安装和使用(上机Python程序设计实验指导书)

news2024/11/15 13:51:48

实验一  Anaconda安装和使用

一、实验目的和要求

(一)掌握Windows下Anaconda的安装和配置。

(二)掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。

(三)掌握使用pip管理Python扩展库,包括扩展库的下载、在线安装、离线安装、升级、卸载等操作。

二、实验内容

(一)下载Anaconda。

(二)安装和配置Anaconda。

(三)使用Anaconda自带的IDLE。

(四)使用Anaconda自带的Spyder。

(五)使用Anaconda自带的Jupyter Notebook。

(六)使用pip/conda工具管理Python第三方扩展库。

三、实验仪器、设备

PC一台 + Windows 操作系统 + Anaconda Distribution(Python 3.X)安装文件,要求能够上网。

四、实验原理

(一)Python简介

Python是一门跨平台、开源、免费的解释型高级动态编程语言,支持命令式编程(how to do)、函数式编程(what to do),完全支持面向对象程序设计,语法简洁清晰,拥有大量功能强大的内置对象、标准库和几乎支持所有领域应用开发的成熟扩展库。

目前Python支持的操作系统包括主流的Windows、Linux、Mac OS等。

目前,常用的Python IDE工具主要有以下几种:

  1. IDLE(初学者推荐),https://www.python.org/
  2. Anaconda(科学计算推荐),Anaconda | The World’s Most Popular Data Science Platform 
  3. PyCharm(大型Python程序开发推荐),PyCharm: the Python IDE for Professional Developers by JetBrains 
  4. VS Code(支持多种开发语言),https://code.visualstudio.com/Download
  5. Sublime Text(功能强大的编辑器),Sublime Text - Text Editing, Done Right 

关于Python的更多信息,读者请参考官网https://www.python.org/。

(二)Anaconda简介

Anaconda是专门为方便使用Python进行数据科学研究而建立的一组软件包,涵盖了数据科学领域常见的250个工具包,Anaconda可以看作是Python的全家桶。并且自带了专门用来解决软件环境依赖问题的conda包管理工具,conda提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。

Anaconda利用命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

Jupyter Notebook作为Anaconda自带的一种工具,采用B/S模式,启动时会自动打开浏览器,通过8888号端口连接到后台的服务器上。

Jupyter Notebook操作Cell常用的快捷键及其说明如表1-1所示。

表1-1  操作Cell常用快捷键

模式类型

命令

说明

命令模式和编辑模式均可用

Shift+Enter

执行本单元代码,并跳转到下一单元

Ctrl+Enter

执行本单元代码,留在本单元

命令模式

Y

Cell切换到Code模式

M

Cell切换到Markdown模式

A

在当前Cell的上面添加Cell

B

在当前Cell的下面添加Cell

双击D

删除当前Cell

Z

回退

Ctrl+Shift+减号

分隔Cell,在光标处

L

为当前Cell加上行号

编辑模式

Ctrl+鼠标单击(Mac:CMD+鼠标单击)

多光标操作

Ctrl+Z(Mac:CMD+Z)

回退

Ctrl+Y

重做

Tab键

代码补全

Ctrl(CMD+/)

注释多行代码

关于Anaconda的更多信息,读者请参考官网Anaconda | The World’s Most Popular Data Science Platform。

(三)使用pip管理Python扩展库

当前pip已经成为管理Python扩展库的主流方式,使用pip不仅可以实时查看本机已安装的Python扩展库列表,还支持纯Python扩展库的安装、升级和卸载等操作。

常用的pip命令及其说明如表1-2所示。

表1-2  常用pip命令使用方法

pip命令示例

说明

pip download PackageFilename[==version]

下载扩展库的指定版本,不安装

pip list

列出当前已安装的所有模块

pip install PackageFilename[==version]

在线安装SomePackage模块的指定版本

pip install PackageFilename.whl

通过whl文件离线安装扩展库

pip install package1 package2 ...

依次在线安装package1、package2等扩展模块

pip install --upgrade PackageFilename

升级SomePackage模块

pip uninstall PackageFilename[==version]

卸载SomePackage模块的指定版本

python -m pip

以模块方式运行pip

可以在命令提示符环境中执行“pip help”命令查看pip命令帮助,执行效果部分截图如图1-1所示。

图1-1  查看pip命令帮助(部分)

也可以接着使用命令“pip <command> --help”某一具体命令的帮助信息,如“pip install --help”命令的执行效果部分截图如图1-2所示。

图1-2  查看pip install命令帮助(部分)

五、实验步骤

(一)获取Anaconda。

Anaconda的官网下载地址为https://www.anaconda.com/distribution/,需要根据自己的CPU字长和操作系统来选择相应的Anaconda Distribution的版本。编者采用的操作系统为Windows,故下载Windows对应的安装器,如图1-3所示。

图1-3  Anaconda Windows安装器

关于Anaconda具体的安装环境要求读者可以查看官网文档Installation — Anaconda documentation。

(二)安装和配置Anaconda。

双击Anaconda Windows安装包文件即可完成安装。关于安装的几点建议如下:

(1)安装时选择定制安装,建议不要把Anaconda安装在C盘上。

(2)安装时选择针对所有用户。

(3)安装时不要把Anacond自带的Python解释器加入到系统环境变量PATH中。

(三)初步使用Anaconda自带的IDLE。

在Anaconda安装目录下Scripts目录中找到文件“idle.exe”,双击该文件,即可进入IDLE开发环境,如图1-4所示。

图1-4  IDLE开发环境

然后,以交互模式输出字符串“Hello, Python!”,如图1-5所示。

图1-5  IDLE下以交互模式输出字符串“Hello, Python!”

(四)使用Spyder IDE

1. 单击【开始】菜单中的【Anaconda3】下的【Anaconda Navigator】,即可进入Anaconda Navigator主界面,如图1-6所示。

图1-6  Anaconda Navigator主界面

2. 单击Spyder下的按钮【Launch】,即可进入Spyder IDE开发环境,如图1-7所示。

图1-7  Spyder IDE主界面

3. 在默认的“temp.py”文件中输入以下代码:

print('Hello, Python')

然后按快捷键“Ctrl+Shift+S”或者单击菜单【File】→【Save as】,选择保存位置,另存为“hello.py”。

4. 运行“hello.py”。按快捷键F5或者单击菜单【Run】→【Run】或者单击工具栏上的按钮【Run file (F5)】,弹出窗口【Run settings for hello.py】,按照默认的运行选项即可运行,其运行结果在窗口右下角的“IPython console”显示出来,如图1-8所示。

图1-8  Spyder IDE下以脚本程序方式输出字符串“Hello, Python!”

当然,我们可以把“IPython console”当做一个Python交互模式的环境,直接在提示符“In [N]: ”输入Python语句即可,效果如图1-9所示。

图1-9  Spyder IDE中在“IPython console”下输出字符串“Hello, Python!”

另外,还可以通过【开始】菜单【Anaconda3】下的【Spyder】进入Spyder开发环境。

(五)使用Jupyter Notebook

1. 进入Anaconda Navigator界面,单击Jupyter Notebook下的按钮【Launch】,即可进入Jupyter Notebook开发环境,如图1-10所示。实际使用时,常常需要指定Jupyter Notebook的工作目录。方法如下:

打开【开始】菜单中的【Anaconda3】选项,右键单击【Jupyter Notebook】,选择【打开文件位置】,右键单击【Jupyter Notebook】,选择【属性】,在【目标】输入框中修改行尾文本内容,换成自己希望的指定目录即可。

图1-10  Jupyter Notebook主界面

2. 例如在桌面上新建一个Python 3文件,进入“Desktop”目录,单击按钮【New】下的【Python 3】,如图1-11所示。

图1-11  Jupyter Notebook下新建Python 3文件

3. 进入该文件的编辑界面,如图1-12所示。

图1-13  Jupyter Notebook下Python 3文件编辑页面

4. 输入Python程序或语句即可。例如,输入以下语句:

print('Hello, Python')

5. 运行Python程序或语句。单击工具栏上的按钮【Run】或者菜单【Cell】下的某一Run选项或者按快捷键“Ctrl+Enter”,运行效果如图1-14所示。

图1-14  Jupyter Notebook下输出字符串“Hello, Python!”

6. 若有需要,还可以保存该Python文件,单击菜单【File】→【Save as…】,输入文件名例如“hello2”,然后单击按钮【Save】即可完成保存,如图1-15所示。

图1-15  Jupyter Notebook下保存文件

读者请注意,Jupyter Notebook默认保存的文件扩展名为.ipynb。

另外,还可以通过【开始】菜单【Anaconda3】下的【Spyder】进入Spyder开发环境。

  • 在Jupyter Notebook中进行图文和公式混排
  1. 选择单元类型【markdown】。

图1-16 设置cell类型为markdown

Markdown是一种轻量级标记语言,它允许人们使用易读、易写的纯文本格式编写文

档。Markdown模式下可以对文本进行编辑,采用Markdown的语法规范,可以设定文本格式,插入链接、图片甚至数学公式,同样,通过按下【shifit】+【enter】组合键可运行Markdown单元,显示格式化的文本。

在首行前加一个“#”字符和空格代表一级标题,加两个“##”字符和空格代表二级标题,以此类推。项目符号可以使用“+”、“-”、“*”加空格。公式使用前后两个“$”符号括起来,例如行内公式:“$E=mc^2$”,独行公式:$$E=mc^2$$

数学公式的语法具体参见URL:https://www.jianshu.com/p/e74eb43960a1。

  1. 完成以下内容的输入:

图1-17 输入markdown文本

(七)使用pip管理Python第三方扩展库。

1. 通过【开始】菜单【Anaconda3】下的【Anaconda Prompt】进入Anaconda命令提示符环境,可以输入命令“pip help”查看pip命令的帮助文档。

2. 升级pip。建议安装完Python或者Anaconda后首先升级pip,使用的命令如下所示。

python -m pip install --upgrade pip

3. 查看Anaconda下当前已安装的所有扩展库,使用的命令如下所示,其运行效果如图1-18所示。

pip list

图1-18  使用pip查看Anaconda下当前已安装的所有扩展库(部分)

4. 显示某扩展包的详细信息。例如显示numpy包的详细信息,使用的命令如下所示,其运行效果如图1-19所示。

pip show numpy

图1-19  使用pip查看numpy包详细信息

5. 卸载某扩展包。例如卸载numpy包,使用的命令如下所示,中间会询问是否继续,输入“y”即可,其运行效果如图1-20所示。

pip uninstall numpy

图1-20  使用pip卸载numpy包

6. 在线安装某扩展包。例如安装numpy包,使用的命令如下所示,中间会询问是否继续,输入“y”即可,其运行效果如图1-21所示,再次使用pip查看numpy包详细信息效果如图1-22所示,由图1-22可知,重新安装了numpy 1.17.1,之前numpy版本为1.16.2。

pip install numpy

图1-21  使用pip在线安装numpy包

图1-22  再次使用pip查看numpy包详细信息

如果显示网络连接超时,可以采用以下两种办法:

  1. 临时改变pip安装源,使用命令pip install -i Simple Index 待安装包名。(本例以豆瓣为例,可以根据实际网络情况更换阿里、清华等镜像源)
  2. 永久改变pip安装源(以win10为例)

  在【 C:\Users\Administrator\AppData\Roaming\】目录下,创建一个名为【pip】的子目录,进入pip子目录,创建一个文本文件pip.ini,内容如下:

[global]

timeout = 300

index-url = https://pypi.douban.com/simple

trusted-host = pypi.douban.com

7. 离线安装第三方扩展库。如果遇到安装不成功的扩展库,使用浏览器打开网址https://www.lfd.uci.edu/~gohlke/pythonlibs/下载whl文件,然后进行离线安装,离线安装的命令如下所示。

pip install PackageFilename.whl

修改Jupyter默认工作空间

在Windows上使用jupyter notebook不像Linux,Linux是在哪个目录下启动,就会默认哪个目录为工作空间,但是Windows中不是这样。

定位到开始菜单中【Anaconda3】下的【Jupyter Notebook】,右键单击【Jupyter Notebook】,选择【更多】下面的【打开文件位置】,然后右键单击【Jupyter Notebook】选择【属性】,替换目标对话框中的"%USERPROFILE%/"为你预设的目录(该目录必须存在),最后单击【确定】按钮。启动Jupyter Notebook查看是否定位到预设的目录。

六、实验注意事项

(一)机房的使用规范和用电安全。

(二)Python是解释型语言,需要Python解释器支持。

(三)Ananconda中的Jupyter NoteBook基于B/S模式,对浏览器有一定要求,建议使用Chrome或者360浏览器。

(四)下载扩展库时,默认从国外网站下载,速度较慢,建议从国内镜像网站下载,如豆瓣(Simple Index)、中国科学技术大学(Simple Index)。

(五)遇到问题,先看系统给出的错误提示信息,先确定出错点,再去利用所学知识来解决,不能解决时可以通过百度查询资料、和同学讨论或者向老师寻求帮助。

七、实验报告要求

实验报告以书面/电子形式提交,严禁抄袭,一旦发现,即为零分。

实验报告主要内容包括实验名称、实验类型、实验地点、学时、实验环境、实验原理、实验步骤、实验结果、总结与思考等。

八、实验成绩考核

实验成绩根据实验课的出勤、课堂表现、实验思考以及实验报告的内容情况打分,按百分制,实验成绩的平均值按15%比例计入课程总成绩。

【Markdown单元参考代码】

# 数据预处理

## 1.距离的选择

数据挖掘中的距离代表数据之间的相似与相异的程度,不同场景下应该选择不同的距离来度量。

### 1)欧式距离---L2范数

欧式距离就是平面或者空间中两个点的距离,它是多维空间中两点之间的最短距离。

$$d = \sqrt{\displaystyle\sum_{i=1}^{n}(x_{1i}-x_{2i})^2}$$

### 2)曼哈顿距离---L1范数

曼哈顿距离表示空间中两个点在坐标系中绝对轴距总和。

$$d = \displaystyle \sum_{i=1}^{n}|x_{1i}-x_{2i}|$$

### 3)余弦相似度

通过测量两个向量夹角的余弦值来度量它们之间的相似度,常用于文本相似度的计算中。

$$d = cos(\theta)=\frac{\vec{a}\cdot\vec{b}}{||a||\cdot||b||}=\frac {\displaystyle \sum_{i=1}^{n}(x_{1i}\times x_{2i})}{\sqrt {\displaystyle \sum_{i=1}^{n}x_{1i}^2 \times x_{2i}^2}}$$

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

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

相关文章

05-Spring中Bean的生命周期

Bean的生命周期 生命周期就是对象从创建开始到最终销毁的整个过程 , Spring其实就是一个管理Bean对象的工厂,它负责对象的创建和销毁等 Bean生命周期的管理可以参考Spring的源码&#xff1a;AbstractAutowireCapableBeanFactory类的doCreateBean()方法 研究生命周期的意义&am…

2023最新版本 从零基础入门C++与QT(学习笔记) -1- C++输入与输出

&#x1f38f;说在前面 &#x1f388;我预计是使用两个月的时间玩转C与QT &#x1f388;所以这是一篇学习笔记 &#x1f388;根据学习的效率可能提前完成学习,加油&#xff01;&#xff01;&#xff01; 输入(代码如下方代码块) &#x1f384;分析一下构成 &#x1f388;…

【可解释AI】Alibi explain: 解释机器学习模型的算法

Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain&#xff0c;一个开源Python库&#xff0c;用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…

springboot项目基本配置

接口入口日志 参数校验 业务逻辑执行 异常捕获-统一异常处理 统一数据返回体 接口返回日志 使用的是springboot2.x版本。 Mybatisplus 官网地址&#xff1a;https://baomidou.com/ 导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId&g…

【Opencv】cv::dnn::NMSBoxes()函数详解

本文通过原理和示例对cv::dnn::NMSBoxes&#xff08;&#xff09;进行解读&#xff0c;帮助大家理解和使用。 原理 cv::dnn::NMSBoxes是OpenCV库中的一个函数&#xff0c;用于在目标检测中处理多个预测框。在目标检测中&#xff0c;模型可能会为同一个物体生成多个预测框&…

Web开发:一键复制到剪切板功能实现思路

在很多网页页面中我们都使用到过一键复制内容到剪切板的小功能&#xff0c;那么&#xff0c;具体如何实现呢&#xff1f;下面来讲述基于原生JavaScript API的两种实现思路。 同步方式&#xff1a;document.execCommand 这种方式&#xff1a; ①优点&#xff1a;是最传统的方法…

Resources接口和实现类

Spring Resources概述 Java的标准iava.net.URL类和各种URL前缀的标准处理程序无法满足所有对low-evel资源的访问&#xff0c;比如: 没有标准化的URL实现可用于访问需要从类路径或相对于 ServletContext 获取的资源。并且缺少某些Spring所需要的功能&#xff0c;例如检测某资源…

Ps:RGB 颜色模式

Ps菜单&#xff1a;图像/模式/RGB 颜色 Image/Mode/RGB Color RGB 颜色模式 RGB Color Mode是数字图像捕捉、处理以及显示的最常用模式&#xff0c;也是 Photoshop 默认的工作模式。 RGB 是 Red&#xff08;红色&#xff09;、Green&#xff08;绿色&#xff09;、Blue&#xf…

node实战——koa实现文件下载和图片/pdf/视频预览(node后端储备知识)

文章目录 ⭐前言⭐koa-send库实现下载⭐mime-types库实现图片预览&#x1f496; 渲染图片&#x1f496;渲染404&#x1f496;预览pdf&#x1f496;预览视频 ⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于node实战——koa实现文件下载和图片预览。…

数据结构----链式栈的操作

链式栈的定义其实和链表的定义是一样的&#xff0c;只不过在进行链式栈的操作时要遵循栈的规则----即“先进后出”。 1.链式栈的定义 typedef struct StackNode {SElemType data;struct StackNode *next; }StackNode,*LinkStack; 2.链式栈的初始化 Status InitStack(LinkSta…

06-解决Spirng中的循环依赖问题

Bean的循环依赖问题 循环依赖: A对象中有B属性 , B对象中有A属性(丈夫类Husband中有Wife的引用, 妻子类Wife中有Husband的引用) toString()方法重写时直接输出wife/husband会出现递归导致的栈内存溢出错误 直接输出wife/husband会调用它们的toString()方法, 在toString()方法…

Halcon WPF 开发学习笔记(3):WPF+Halcon初步开发

文章目录 前言在MainWindow.xaml里面导入Halcon命名空间WPF简单调用Halcon创建矩形简单调用导出脚本函数 前言 本章会简单讲解如何调用Halcon组件和接口&#xff0c;因为我们是进行混合开发模式。即核心脚本在平台调试&#xff0c;辅助脚本C#直接调用。 在MainWindow.xaml里面…

【哈夫曼树的构造】

文章目录 如何构造哈夫曼树哈夫曼树构造算法的实现 如何构造哈夫曼树 哈夫曼算法口诀&#xff1a; 1.构造森林全是根&#xff1b;2.选用两小造新树&#xff1b; 3.删除两小添新人&#xff1b;4.重复2,3剩单根&#xff1b; 例&#xff1a;有4个新结点a,b,c,d&#xff0c;权值为…

数据结构 | 图

最小生成树算法 Prime算法 算法思路&#xff1a;从已选顶点所关联的未选边中找出权重最小的边&#xff0c;并且生成树不存在环。 其中&#xff0c;已选顶点是构成最小生成树的结点&#xff0c;未选边是不属于生成树中的边。 例子&#xff1a; 第一步&#xff1a; 假设我们从顶…

第十八章DOM操作控制

DOM操作分类&#xff1a; jQuery中的DOM操作 一。设置和获取样式值 1.追加样式 addClass&#xff1a;追加CSS效果 removeClass&#xff1a;去除CSS内容 2.切换样式 3.判断是否含有指定样式&#xff1a;判断的是布尔类型的值 二。内容操作&#xff1a; 1.HTML代码操作 2.TEXT代…

C++二分查找算法:132 模式

说明 本篇是视频课程的讲义&#xff0c;可以看直接查看视频。也可以下载源码&#xff0c;包括空源码。 题目 给你一个整数数组 nums &#xff0c;数组中共有 n 个整数。132 模式的子序列 由三个整数 nums[i]、nums[j] 和 nums[k] 组成&#xff0c;并同时满足&#xff1a;i &l…

【每日一题】—— B. Deja Vu(Codeforces Round 907 (Div. 2))(暴力枚举、队列)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

2023.11.13-istio之故障注入流量拆分流量镜像熔断-oss

istio之故障注入&流量拆分&流量镜像&熔断 目录 文章目录 istio之故障注入&流量拆分&流量镜像&熔断目录本节实战1、故障注入注入 HTTP 延迟故障&#x1f6a9; 实战&#xff1a;注入 HTTP 延迟故障-2023.11.12(测试成功) 注入 HTTP abort 故障&#x1f6…

【算法】繁忙的都市(Kruskal算法)

题目 城市C是一个非常繁忙的大都市&#xff0c;城市中的道路十分的拥挤&#xff0c;于是市长决定对其中的道路进行改造。 城市C的道路是这样分布的&#xff1a; 城市中有 n 个交叉路口&#xff0c;编号是 1∼n &#xff0c;有些交叉路口之间有道路相连&#xff0c;两个交叉…

【案例】超声波测距系统设计

1.1 总体设计 1.1.1 概述 学习了明德扬至简设计法和明德扬设计规范&#xff0c;本人用FPGA设计了一个测距系统。该系统采用超声波进行测量距离再在数码管上显示。在本案例的设计过程中包括了超声波的驱动、三线式数码管显示等技术。经过逐步改进、调试等一系列工作后&#xf…