当前位置: 首页 > news >正文

我也曾经因安装库而抓狂,直到我遇到了

入门教程、案例源码、学习资料、读者群

请访问: python666.cn

大家好,欢迎来到 Crossin的编程教室 !

几乎所有的 Python 学习者都遇到过“安装”方面的问题。这些安装问题包括 Python 自身环境的安装、第三方模块的安装、不同版本的切换,以及不同平台、版本间的兼容问题等。当你因为这些问题而卡壳,一行代码没写就已疯,相信我,你不是一个人……包括我自己,也是这么被坑过来的。

我自己印象最深的是在早前某次 Mac 上安装 pycrypto(加密)和 scipy(科学计算)模块,折腾了很久。因为这类模块并不是单纯的 Python 代码,而是需要调用诸如 C 语言的库,于是就牵涉到在不同平台上的编译,有些还不能很方便地用虚拟环境分离版本。在数次尝试失败之后,最终靠着一样工具竟轻松搞定。这就是今天要介绍的:

Anaconda

应该有不少人已经了解和在使用中,另外也考虑到先 Mark 以后需要时再看的收藏党,这里先给个“嫌长不想看”版:

  1. Anaconda 就是一个扩展版 Python,最直接的好处是帮你打包好了一整套数据科学相关的 Python 库,一次安装就可以拥有数据分析、数值计算、数据可视化、机器学习常用的几十个库,不用担心安装不成功、版本不匹配等问题,省时省心。

  2. Anaconda 的核心是 conda 这个包/环境管理器,类似于我们之前介绍过的虚拟环境 virtualenv,且功能更丰富。装了 Anaconda,同时也就可以使用 conda 来管理电脑上不同版本的 Python 环境。

  3. 如果对 conda 的使用不熟悉也没关系。Anaconda 还附带了一个叫做 Navigator(导航)的桌面 GUI 工具,可以直观的创建和管理环境,安装、删除扩展包

  4. Anaconda 安装后,附带了 Jupyter 和 Spyder 两种 IDE。Jupyter 是一种基于浏览器的交互式开发环境,这种边开发边执行的模式很适合编写数据科学类的程序。Spyder 的界面和 Matlab 很相似。不过如果你对 PyCharm 已经熟悉,也可以直接通过设置 interpreter(解释器)路径来直接使用 Anaconda 的环境。

主要就是这几点,如果你在使用中遇到过什么问题,欢迎在文本下方留言讨论。有其他想法或者想听的内容,也欢迎告诉我们。


Anaconda 这个词,字面意思和 Python 类似,都是大蟒蛇。系列电影《狂蟒之灾》的主角就是这玩意儿。美国嘻哈歌手麻辣鸡(Nicki Minaj)有首歌就叫《Anaconda》(本文的封面,小孩子不要去搜)。这个项目命名其实很形象:Anaconda 就是一种更大的 Python

再做个类比:安装了 Python 就像买了个毛坯房,虽然刷了涂料通了水电(内置库),但你真的想住进去,还得自己根据需要进行装修(安装各种第三方库)。而 Anaconda 就是个精装修。这个精装是面向数据科学的,同时也保留了你自己进一步改装的空间。

官网上有一个 Anaconda 支持库的列表:

http://docs.anaconda.com/anaconda/packages/pkg-docs/

里面有很多熟悉的面孔(挑了其中几个常见的):

1a38f0cc82e2b525bcca6883ee11b43d.png

打钩的是包含在安装包中,未打钩的需要后续手动安装。数据分析必备的 numpy、pandas、scipy、matplotlib 自不用说,像数据采集的 requestsbeautifulsoup、scapy,Web 开发的 flask,GUI 的 pyqt,图像处理的 pillow,机器学习 scikit-learn,都直接帮你装好了。就连 vs2015_runtime 这种也为你贴心附上,被坑过的同学应该都懂。

唯一的缺点大概就是这样会比较占空间。但既然你都下决心深入 Python 开发了,这也就是少装一个游戏的空间吧。

如果你安装 Anaconda 的话,是不必装 Python 的,因为它本身包含了 Python 的环境,避免了版本不匹配的问题。Windows、Mac、Linux 三个平台都支持,直接从官网下载安装即可。(建议选择最新版)

https://www.anaconda.com/download/

2b506e24047bb00964e07cad9031a9ec.jpeg

正常按提示安装没有太大问题,网上的安装示例也一搜一大把,这里不赘述。Windows 建议安装时右键点击,选择“以管理员身份运行”。

安装好之后,检查下你的 Python 是否已经是 Anaconda 环境下的了。(从提示中可以看出)

cd827f6e26d9186fdb4b9646b0a55d58.png

这时候,你可以通过 conda 来管理你的安装包和环境。使用方法和我们之前介绍过的 virtualenv 类似(参见上文 为什么你的python版本一团糟?因为少了这个操作)。常用的命令有

  • conda list:查看环境中的所有包

  • conda install XXX:安装 XXX 包

  • conda remove XXX:删除 XXX 包

  • conda env list:列出所有环境

  • conda create -n XXX:创建名为 XXX 的环境

  • conda env remove -n XXX:删除指定环境

  • activate XXX(或 source activate XXX):启用 XXX 环境

  • deactivate(或 source deactivate):退出环境

同 pip 一样,如果使用 conda 安装很慢,可以通过修改国内源的方式来加速。修改 C:\Users\当前用户名\.condarc(非 Windows 是 ~/.condarc),加入如下配置:

channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true

Anaconda 的又一贴心之处在于,给了你一个叫做 Anaconda Navigator 的桌面 GUI 工具,把上述 conda 的功能都做成了点击按钮就可以完成的事情。

e26c1a261bb2f1c9066a1490cbb2fdba.jpeg

包管理和环境管理都一目了然。

数据科学库、包/环境管理、Navigator 工具,这几样就是 Anaconda 的主要功能。

145f712dc1a68f8085f3861fa9632265.jpeg

另外值得一提的是:Anaconda 是附带了一系列第三方库的 Python 以及对这些库的管理工具,和我们之前说的 PyCharm 不是一类东西。PyCharm 是 IDE,用来写代码的编辑器。你可以把 Anaconda 作为运行环境放在 PyCharm 里使用。只要你创建项目的时候选择已经配置好的 Anaconda 环境即可。关于 PyCharm 的具体配置可以在公众号(Crossin的编程教室)里回复关键字 pycharm

而 Anaconda 默认附带的另一个开发工具 Jupyter,也是非常值得推荐的。你可以从 Navigator 里运行,或者在命令行执行命令:

jupyter notebook

940677463f5a217add4d6cdd59d22069.jpeg

它是一个基于浏览器的交互式开发工具。跟 Python 自带的交互环境相比,它的自动完成和提示功能都强大许多,并且你不用再纠结不能在交互环境里写多行代码的问题。

637a955ab556e0358472b313e1077edf.jpeg

这种代码分块,可以边开发边执行的模式,非常适合编写爬虫、数据处理、数据分析等数据科学类的程序。我之前的很多案例都是使用它来开发,你们看到项目代码中的 .ipynb 文件就是可以导入 Jupyter 的文件。另外它还有个好处,就是可以部署在自己的服务器上使用(当然这也有安全风险),这样只要有网络,你就能随时随地写 Python 了。

不管是 Anaconda 还是 Jupyter,以及之前推荐多次的 PyCharm,到底好不好用,是不是适合你,自己试过了才知道。花点时间装起来用一下,然后欢迎你回来报告使用体验。

感谢转发点赞的各位~


_往期文章推荐_

为什么你的python版本一团糟?因为少了这个操作


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

d5c24d4aa1391d796bdfa175f6f8c006.jpeg

相关文章:

我也曾经因安装库而抓狂,直到我遇到了

入门教程、案例源码、学习资料、读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 几乎所有的 Python 学习者都遇到过“安装”方面的问题。这些安装问题包括 Python 自身环境的安装、第三方模块的安装、不同版本的切换&…...

DDPG算法详解

DQN算法详解 一.概述 概括来说,RL要解决的问题是:让agent学习在一个环境中的如何行为动作(act), 从而获得最大的奖励值总和(total reward)。 这个奖励值一般与agent定义的任务目标关联。 agent需要的主要学习内容:第一是行为策略…...

继续学c++

由于c里面有很多和c语言很像的东西,这里就来总结一点不像的或者要注意的,或者是我已经快忘记的; 先来一个浮点型也就是实型类型的总结; 知道浮点型有这两个类型:float和double型; 然后float型占四个字节…...

Day949.遗留系统之殇:为什么要对遗留系统进行现代化? -遗留系统现代化实战

遗留系统之殇:为什么要对遗留系统进行现代化? Hi,我是阿昌,今天学习记录是关于遗留系统之殇:为什么要对遗留系统进行现代化?的内容。 不知道你是否跟曾经一样,身处一个遗留系统的漩涡之中&…...

DAY 45 Nginx服务配置

Nginx概述 Nginx: Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。 对…...

如何收集K8S容器化部署的服务的日志?

做开发的同学都知道日志的重要性,日志的种类一般有接口日志、错误日志、关键步骤日志、用户操作日志等。本文主要详细讲解使用kubernetes容器化部署的服务该如何记录和收集日志。 一、使用标准输出方式 将想要记录的日志内容输出到stdout或stderr即可(…...

python删除csv文件中的某几列或行

1. 读取数据 用pandas中的read_csv()函数读取出csv文件中的数据: import pandas as pddf pd.read_csv("comments.csv") df.head(2)用drop函数进行文件中数据的删除行或者删除列操作。 2. 删除列操作 方法一:假设我们要删除的列的名称为 ‘观众ID’,‘…...

Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客 在上面搭建前后端分离的项目后,如果需要在windows服务上进行部署。 若依前后端分离版本,Windo…...

DAY 37 shell免交互

Here Document 概述 常用的交互程序:read,ftp,passwd,su,sudo cat也可配合免交互的方式重定向输出到文件 Here Document 的作用 使用I/O重定向的方式将命令列表提供给交互式程序标准输入的一种替代品 格式 命令 …...

用python脚本从Cadence导出xdc约束文件

用python脚本从Cadence导出xdc约束文件 概述转换方法先导出csv文件修改CSV文件 CSV转XDC检查输出XDC文件csv2xdc源代码下载 概述 在Cadence设计完成带有FPGA芯片的原理图的时候,往往需要将FPGA管脚和网络对应关系导入vivado设计软件中,对于大规模FPGA管…...

【C++ 六】内存分区、引用

内存分区、引用 文章目录 内存分区、引用前言1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new 操作符 2 引用2.1 引用基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用本质2.6 常量引用 总结 前言 本文包含内存分区、引用基本使用、引用注意事项、…...

markdown基本语法

来自神秘人儿的投稿! markdown的使用,可以参考https://markdown.com.cn/basic-syntax/ 标题:用 # 表示 段落:enter即可,两端之间有一个空行 换行:一行的末尾加两个或者多个空格,两端之间没有…...

第十篇 Spring 集成Redis

《Spring》篇章整体栏目 ————————————————————————————— 【第一章】spring 概念与体系结构 【第二章】spring IoC 的工作原理 【第三章】spring IOC与Bean环境搭建与应用 【第四章】spring bean定义 【第五章】Spring 集合注入、作用域 【第六章】…...

PADS-LOGIC项目原理图设计

最小板原理图设计 目录 1 菜单与工具使用 2 常用设置 2.1选项卡 2.2 图纸设置 2.3 颜色设置 3 设计技巧 3.1 模块化设计思路 3.2 元件放置 3.3 走线及连接符 4 原理图绘制 4.1 POWER原理图设计 4.2 MCU原理图设计 4.2.1晶振电路 4.2.2复位电路 4.2.3 BOOT电路 …...

36岁大龄程序员被裁,找了2个月工作,年包从100万降到50万,要不要接?

为了找到工作,你愿意接受降薪多少? 一位36岁的杭州程序员问: 36岁被裁,找了2个月工作,年包从100万降到50万,真心纠结,要不要接? 网友们分成了旗帜鲜明的两派,一派人认为不…...

Android Retrofit 源码分析

1、简介 Retrofit 是一种基于 Java 的 RESTful Web Service 客户端库,它可以将网络请求抽象出来并支持多种转换器,可以将 JSON、XML 和其他格式的响应数据自动转换为 Java 对象。Retrofit 通过注解的方式来描述 REST API 调用,使开发人员能够…...

CDN如何阻止网络攻击

随着网络技术的发展,网络攻击事件也越来越多,对企业和个人的安全和稳定造成严重威胁。为此,高防CDN应运而生,成为广大用户保障网络安全的重要工具。什么是高防CDN?高防CDN的特点有哪些?高防CDN如何阻止网络攻击?接下来让我们一…...

Mybatis-Plus -04 条件构造器与代码生成器

Mybatis-Plus--条件构造器与代码生成器 1 条件构造器1.1 > < 1.2 in notin1.3 between...1.4 orderBy...1.5 like... 2 代码生成器2.1 引入依赖2.2 生成器代码 1 条件构造器 通过条件构造器可以更加轻松的完成条件查询与更新(底层就是动态SQL) 1.1 > < ge 小于 &l…...

MapReduce高级篇——全局计数器

MapReduce Counter 计数器 概念 在执行MapReduce程序的时候&#xff0c;控制台输出日志中通常下面片段&#xff0c;可以发现输出信息中的核心词是counter,中文叫做计数器 在执行MapReduce城西过程中&#xff0c;许多时候&#xff0c;用户希望了解程序的运行情况&#xff0c;H…...

轻松掌握K8S目录持久卷PV/PVC的kubectl操作知识点04

1、介绍 在docker中可以将容器中的目录挂载出来&#xff0c;在k8s中pod可以部署在不同节点&#xff0c;假如该节点的机器宕机了&#xff0c;k8s可能就会将此Pod转移到其他机器&#xff0c;就不是原先的机器了。k8s有自己的一套挂载方案&#xff0c;如下图所示&#xff0c; 原…...

M2LOrder 情绪识别模型 Python 入门实战:快速搭建情感分析 WebUI

M2LOrder 情绪识别模型 Python 入门实战&#xff1a;快速搭建情感分析 WebUI 你是不是经常好奇&#xff0c;一段文字背后藏着怎样的情绪&#xff1f;是喜悦、愤怒&#xff0c;还是悲伤&#xff1f;以前&#xff0c;这可能需要专业的心理学知识去揣摩。但现在&#xff0c;借助A…...

DevOps工具链集成:GitLab CI、Jenkins与Argo CD如何选?

DevOps工具链集成&#xff1a;GitLab CI、Jenkins与Argo CD如何选&#xff1f; 在DevOps实践中&#xff0c;工具链的选型直接影响交付效率与系统稳定性。GitLab CI、Jenkins和Argo CD作为主流工具&#xff0c;分别覆盖持续集成&#xff08;CI&#xff09;、持续交付&#xff0…...

PHP+MySQL图书管理系统实战:从环境搭建到功能实现的保姆级教程(附完整源码)

PHPMySQL图书管理系统实战&#xff1a;从零构建企业级应用 1. 环境配置与项目初始化 在开始构建图书管理系统之前&#xff0c;我们需要搭建一个稳定的开发环境。不同于传统的独立安装方式&#xff0c;我将推荐使用Docker容器化方案&#xff0c;这能确保开发环境的一致性并避免&…...

Calypso vs PC-DMIS:三坐标两大软件脱机编程实战对比与选型指南

Calypso vs PC-DMIS&#xff1a;三坐标测量软件脱机编程深度对比与实战选型策略 在精密制造领域&#xff0c;三坐标测量机(CMM)的脱机编程能力直接决定了检测效率与资源利用率。作为行业两大标杆&#xff0c;蔡司Calypso与海克斯康PC-DMIS在用户界面设计、编程逻辑、仿真验证等…...

Nunchaku FLUX.1-dev GPU算力优化:TensorRT加速推理实测对比

Nunchaku FLUX.1-dev GPU算力优化&#xff1a;TensorRT加速推理实测对比 如果你正在使用Nunchaku FLUX.1-dev模型生成图片&#xff0c;可能会发现一个问题&#xff1a;生成速度不够快&#xff0c;特别是当你想批量出图或者尝试不同参数时&#xff0c;等待时间有点长。 今天我…...

如何用Wi-Fi信号实现非接触检测:ESP-CSI完整指南

如何用Wi-Fi信号实现非接触检测&#xff1a;ESP-CSI完整指南 【免费下载链接】esp-csi Applications based on Wi-Fi CSI (Channel state information), such as indoor positioning, human detection 项目地址: https://gitcode.com/GitHub_Trending/es/esp-csi 想要让…...

致翔智慧校园招生迎新系统正式上线!一键解锁「零跑腿」入学新体验!

告别排长队、告别填不完的纸质表、告别来回跑、告别信息反复核对&#xff01;致翔智慧校园招生迎新管理系统重磅上线啦&#xff01;从招生报名到迎新报到&#xff0c;全流程数字化、一站式智能化&#xff0c;轻松搞定所有环节&#xff01;✨ 告别繁琐&#xff0c;新生入学超丝滑…...

【立煌】友达10.1寸G101STN01.C工业液晶屏LCD

G101STN01.C是AUO一款10.1英寸、1024600的工控液晶屏&#xff0c;走LVDS单通道40pin&#xff08;1ch&#xff0c;6/8-bit&#xff09;&#xff0c;逻辑电压3.3V&#xff0c;公开流通参数里常见亮度500cd/㎡、对比度500:1、视角70/70/60/60、背光WLED且带LEDDriver&#xff0c;背…...

手机关键词 SEO 优化与网站速度优化有什么关系_手机关键词 SEO 优化与内容营销策略有什么联系

手机关键词 SEO 优化与网站速度优化有什么关系 在当今数字化时代&#xff0c;网站的流量和用户体验直接影响企业的品牌价值和市场竞争力。手机关键词 SEO 优化与网站速度优化这两个看似独立的环节&#xff0c;实际上有着密不可分的联系。本文将详细探讨它们之间的关系&#xf…...

MySQL解析器的性能优化:从理论到实践

MySQL解析器的性能优化&#xff1a;从理论到实践 引言 作为一名在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我见过太多因为解析器性能问题导致的数据库瓶颈。在 MySQL 数据库中&#xff0c;解析器的性能直接影响 SQL 语句的处理速度和系统的整体性能。今天&#xff0c;我…...