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

实验一  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}}$$

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蚁狮优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

数据结构 栈(C语言实现)

目录 1.栈的概念及结构2.栈的代码实现 1.栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In F…

【Qt】撤销/恢复的快捷键

使用Qt的时候&#xff0c;有时需要撤销修改的代码&#xff0c;但可能回撤过头了。 下面提供2个快捷键&#xff0c;当撤销过头时&#xff0c;可恢复撤销内容。 撤销的快捷键是 CtrlZ 恢复/向前的快捷键是 CtrlShiftZ 我们可以自定义快捷键。 点击【工具】->【选项】 点击…

并发安全问题之--事物失效问题

并发安全问题之–事物失效问题 事物失效常见的6种原因&#xff1a; 1、事物方法非public修饰 2、非事物方法调用事物方法 3、事物方法抛出的异常被捕获了 4、事物方法抛出的异常类型不对 5、事物传播行为不对&#xff08;事物发生嵌套时有事物传播&#xff09; 6、事物锁属类没…

【Java】定时任务 - Timer/TimerTask 源码原理解析

一、背景及使用 日常实现各种服务端系统时&#xff0c;我们一定会有一些定时任务的需求。比如会议提前半小时自动提醒&#xff0c;异步任务定时/周期执行等。那么如何去实现这样的一个定时任务系统呢&#xff1f; Java JDK提供的Timer类就是一个很好的工具&#xff0c;通过简单…

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

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

基于springboot实现沁园健身房预约管理系统【项目源码】

基于springboot实现沁园健身房预约管理系统演示 B/S架构 B/S结构是目前使用最多的结构模式&#xff0c;它可以使得系统的开发更加的简单&#xff0c;好操作&#xff0c;而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库&#xff0c;和一些很常用的浏览器就可以…

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

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

配置开启Docker2375远程连接与解决Docker未授权访问漏洞

一、配置开启Docker远程连接 首先需要安装docker,参考我这篇文章&#xff1a;基于CentOS7安装配置docker与docker-compose 配置开启Docker远程连接的步骤&#xff1a; //1-编辑/usr/lib/systemd/system/docker.service 文件 vim /usr/lib/systemd/system/docker.service //2…

合并集合(并查集)

一共有 n个数&#xff0c;编号是 1∼n&#xff0c;最开始每个数各自在一个集合中。 现在要进行 m 个操作&#xff0c;操作共有两种&#xff1a; M a b&#xff0c;将编号为 a 和 b 的两个数所在的集合合并&#xff0c;如果两个数已经在同一个集合中&#xff0c;则忽略这个操作…

解析JSON字符串:属性值为null的时候不被序列化

如果希望属性值为null及不序列化&#xff0c;只序列化不为null的值。 1、测试代码 配置代码&#xff1a; mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 或者通过注解JsonInclude(JsonInclude.Include.NON_NULL) //常见问题2&#xff1a;属性为null&a…

python异常、模块与包

1.异常 异常&#xff1a;当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是我们常说的BUG。 1.1捕获异常 基本语法&#xff1a; try:可能发生错误代码 except:如果出现…

数据结构之栈

目录 引言 栈的概念与结构 栈的实现 定义 初始化 销毁 压栈 检测栈是否为空 出栈 获取栈顶元素 检测栈中有效元素个数 元素访问 源代码 stack.h stack.c test.c 引言 数据结构之路经过链表后&#xff0c;就来到了栈&#xff08;Stack&#xff09; 栈的概念…

sass 封装媒体查询工具

背景 以往写媒体查询可能是这样的&#xff1a; .header {display: flex;width: 100%; }media (width > 320px) and (width < 480px) {.header {height: 50px;} }media (width > 480px) and (width < 768px) {.header {height: 60px;} }media (width > 768px) …

深入理解指针(一)

目录 内存和地址 内存 如何理解编址 指针变量和地址 取地址操作符&#xff08;&&#xff09; 指针变量和解引用操作符&#xff08;*&#xff09; 指针变量 如何拆解指针类型 解引用操作符 指针变量的大小 ​编辑 指针变量类型的意义 指针的解引用 指针-整…

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

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

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

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

【计算机网络笔记】IP编址与有类IP地址

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

业务出海之服务器探秘

这几年随着国内互联网市场的逐渐饱和&#xff0c;越来越多的公司加入到出海的行列&#xff0c;很多领域都取得了很不错的成就。虽然出海可以获得更加广阔的市场&#xff0c;但也需要面对很多之前在国内可能没有重视的一些问题。集中在海外服务器的选择维度上就有很大的变化。例…

matlab GUI界面实现ZieglerNicholas调节PID参数

1、内容简介 略 11-可以交流、咨询、答疑 ZieglerNicholas、PID、GUI 2、内容说明 GUI界面实现ZieglerNicholas调节PID参数 通过ZieglerNicholas调节PID参数&#xff0c;设计了GUI 3、仿真分析 略 4、参考论文 略 链接&#xff1a;https://pan.baidu.com/s/1yQ1yDfk-_…