Python快速入门体验
Python快速入门体验
- 一、环境信息
- 1.1 硬件信息
- 1.2 软件信息
- 二、Conda安装
- 2.1 Conda介绍
- 2.1.1 Conda简介
- 2.1.2 Conda、Anaconda及Miniconda及的关系
- 2.2 Conda安装包下载
- 2.2.1 Miniconda下载
- 2.2.2 Anconda下载
- 2.3 Conda安装
- 2.3.1 Miniconda安装
- 2.3.2 Anconda安装
- 2.4 Conda初始化
- 三、Python安装
- 3.1 创建PY虚拟环境
- 3.2 激活PY虚拟环境
- 3.3 安装PY包示例
- 四、开发环境搭建
- 4.1 安装开发工具
- 4.2 关联Conda环境
- 五、Hello Word
- 5.1 新建HelloWord
- 5.2 输出HelloWord
- 六、常见问题
- 6.1 无法安装PyQt5
- 6.2 无法安装PY3.7
一、环境信息
1.1 硬件信息
- 型号 :MacBook Pro
- 内存 :16GB
- 硬盘 :512GB SSD
- 处理器 :Apple M2
- 宿主机CPU架构 :ARM
1.2 软件信息
- Python版本 :3.7
- Conda版本 :Miniconda3 macOS Apple M1 64-bit bash / Anaconda3-2023.07-2-MacOSX-arm64.pkg
二、Conda安装
2.1 Conda介绍
2.1.1 Conda简介
Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件, 是当今最流行的 Python 环境管理工具。
因为Python的版本比较多,并且它的库也非常广泛,同时库和库之间存在很多依赖关系,所以在库的安装和版本的管理上很麻烦,因此设计Conda作为一个管理版本和Python环境的工具,但它业可以打包和管理任何语言的软件。
2.1.2 Conda、Anaconda及Miniconda及的关系
- Conda:Conda是Anaconda的包管理器,主要用来安装和管理软件包。
- Anaconda:Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
- Miniconda:Miniconda只包括Conda、Python,是Anaconda的简版,Miniconda也是一个软件发行版。

2.2 Conda安装包下载
根据电脑型号及CPU架构选择对应的包进行下载。
2.2.1 Miniconda下载
因为乙真仙人用的是Mac M2所以从Miniconda官网下载Miniconda3 macOS Apple M1 ARM 64-bit bash版本,直接用sh执行;下载地址:Miniconda下载。

2.2.2 Anconda下载
因为乙真仙人用的是Mac M2所以从Anconda清华源上下载Anaconda3-2023.07-2-MacOSX-arm64.pkg版本,直接开箱安装;下载地址(使用清华源):Anconda下载。

2.3 Conda安装
后续体验说明是基于Anconda。
2.3.1 Miniconda安装
# 文件名是自己下载的sh文件,-p后面填安装路径
# -b 表示将环境变量自动写入到~/.bash文件中
sh Miniconda3-py311_23.5.2-0-MacOSX-arm64.sh -b -p ~./miniconda3# 将conda路径写入shell配置
source ~./miniconda3/bin/activate

2.3.2 Anconda安装
# 安装完成后执行如下命令切换conda的base环境
source ~/.zshrc

2.4 Conda初始化
# 关闭anconda的debug日志
conda config --set debug false# conda源配置
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes# 查看源
cat .condarc# 至此conda初始化完成,可以通过conda -h查看conda command说明

三、Python安装
3.1 创建PY虚拟环境
搭建之后就可以使用conda env list查看到新创建的虚拟环境
# 模版
conda create -n 虚拟环境名 python=对应的python版本# 实际创建
conda create -n py37 python=3.7
3.2 激活PY虚拟环境
# 查看已经存在的虚拟环境
conda env list# 激活即切换至对应的py环境
conda activate py37# 退出当前py虚拟环境
conda deactivate# 查看当前py环境已有的py包
conda list

3.3 安装PY包示例
# 例如查看opencv-python可装的版本
conda search tensorflow# 在当前py环境下安装opencv-python包
# -i: 指定镜像加速源https://pypi.tuna.tsinghua.edu.cn/simple
pip install tensorflow==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple # 常用命令如下
# 安装:pip install [package]
# 删除:pip uninstall [package]
# 列出已安装的包:pip list
# 查看包的详细信息: pip show <package-name>

四、开发环境搭建
4.1 安装开发工具
因为需要兼容Java所以乙真仙人直接用IDEA了,小伙伴们也可以是使用VSCode或者PyCharm。

4.2 关联Conda环境
1.新建项目并新增Python语言
2.点击Install

3.Restart INDE并关联Conda

五、Hello Word
5.1 新建HelloWord


5.2 输出HelloWord

六、常见问题
6.1 无法安装PyQt5
错误如下图所示,异常日志:Preparing metadata (pyproject.toml) … error
该异常是由于python版本的原因,pyqt5只适用于python3.8以下的版本,所以一开始通过python3.8无法安装pyqt5,通过python3.7可以安装。

6.2 无法安装PY3.7
错误如下图所示,异常日志:PackagesNotFoundError: The following packages are not available from current channels: - python=3.7

该异常是由于当前channel最低只支持python3.8,需要通过如下方式安装:
# 查看当前支持的python版本
conda search --full --name python# 通过其它方式安装python3.7
## 创建一个空的环境
conda create -n py37
## 启动该环境
conda activate py37
## 使用x86_64 architecture channel(s)
conda config --env --set subdir osx-64
## 安装python3.7之类的操作
conda install python=3.7

至此,Python快速入门体验完成,后续会陆续输出人工智能相关的篇章~查阅过程中若遇到问题欢迎留言或私信交流。
相关文章:
Python快速入门体验
Python快速入门体验 一、环境信息1.1 硬件信息1.2 软件信息 二、Conda安装2.1 Conda介绍2.1.1 Conda简介2.1.2 Conda、Anaconda及Miniconda及的关系 2.2 Conda安装包下载2.2.1 Miniconda下载2.2.2 Anconda下载 2.3 Conda安装2.3.1 Miniconda安装2.3.2 Anconda安装 2.4 Conda初始…...
【从零学习python 】68. Python正则表达式中的贪婪和非贪婪模式
文章目录 贪婪和非贪婪模式进阶案例 贪婪和非贪婪模式 Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在*、?、、{m,n}后面…...
MongoDB【CRUD练习-条件查询-文档关系】
练习1-CRUD // 进入test数据库 use test; // 查询文档内容 db.students.find(); // 显示当前数据库中所有集合 show collections; // 向数据库的user集合中插入一个文档 db.users.insertOne({username: "lyh"} ); // 查看当前数据库中所有的集合 发现users集合被创建…...
使用M2Mqtt 接受以及发布MQTT消息
在NuGet库里面直接查找M2Mqtt就可以安装库。 使用framework4.5.2 1.配置文件操作 public static class GModel{public static BassSetup MainSetup { get; set; }public static void GetThisAdd(){MainSetup new BassSetup();string IPAdd ConfigurationManager.AppSettings…...
【SA8295P 源码分析】33 - Android GVM USB 透传配置
【SA8295P 源码分析】33 - Android GVM USB 透传配置 1. QNX 侧配置 USB1 为 GVM 使用2. Android 端配置 dts:以配置 USB1 为例3. QNX 端配置 linux-la.config:以配置 USB1 为例4. 在Android shell 中配置USB0 / USB1 的 Host/device 模式切换系列文章汇总见:《【SA8295P 源…...
华为OD机试 - 过滤组合字符串 - 深度优先搜索dfs算法(Java 2023 B卷 100分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…...
【Unity自制手册】游戏基础API大全
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...
【LVS】4、HAProxy搭建web集群
目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx LVS性能最好(基于内核转发),但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性…...
【应用层】网络基础 -- HTTP协议
再谈协议HTTP协议认识URLurlencode和urldecodeHTTP协议格式HTTP的方法HTTP的状态码HTTP常见HeaderHTTP周边会话保持 再谈协议 协议是一种 “约定”. socket api的接口,在读写数据时,都是按 “字符串” 的方式来发送接收的(tcp是以字节流的方式发送的&am…...
【线性DP】模型总结(terse版)
【线性DP】模型总结 最长上升子序列 DP法 dp[i]表示以i结尾的最长上升子序列的长度。 对于每个i,遍历j1~i-1,若a[j] < a[i], 则dp[i] max(dp[i], dp[j] 1); 二分法 可以优化时间复杂度。 dp[]数组用来存储当前最长上升子序列。 若dp[]数…...
conda 常用命令
conda 常用命令 一、创建环境二、删除环境三、环境重命名四 、查看环境列表五、进入某个虚拟环境六、退出当前环境七、查看当前虚拟环境下的所有安装包八、安装或卸载包(进入虚拟环境之后)九、分享虚拟环境十、源服务器管理十一、升级十二、卸载十三、卸载十四、pip…...
前端面试:【异步编程】Callback、Promise和Async/Await
嗨,亲爱的JavaScript探险家!在JavaScript开发的旅程中,你会经常遇到异步编程的需求。为了处理异步操作,JavaScript提供了多种机制,包括Callbacks、Promises和Async/Await。本文将深入介绍这些机制,让你能够…...
大数据(四):Pandas的基础应用详解
专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教…...
计算机网络第3章(数据链路层)
计算机网络第3章(数据链路层) 3.1 数据链路层概述3.1.1 概述3.1.2 数据链路层使用的信道3.1.3 三个重要问题 3.2 封装成帧3.2.1 介绍3.2.2 透明传输3.2.3 总结 3.3 差错检测3.3.1 介绍3.3.2 奇偶校验3.3.3 循环冗余校验CRC(Cyclic Redundancy Check)3.3.…...
stm32之4.时钟体系
3.时钟体系(给单片机提供一个非常稳定的频率信号) ①可以使用三种不同的时钟源来驱动系统时钟(SYSCLK),CPU运行的频率为168MHZ; HSI(RC振荡器时钟,也就是高速内部时钟,一般来说很少用,因为精度…...
RPC和HTTP协议
RPC 全称(Remote Procedure Call),它是一种针对跨进程或者跨网络节点的应用之间的远程过程调用协议。 它的核心目标是,让开发人员在进行远程方法调用的时候,就像调用本地方法一样,不需要额外为了完成这个交…...
BUGFix:onnx -> TensorRT转换过程失败
先附上相关的onnx2trt的部分代码: def onnx2trt(onnx_path):logger trt.Logger(trt.Logger.ERROR)builder trt.Builder(logger)network builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))parser trt.OnnxParser(netw…...
FFMPEG小白常用命令行
序列帧转H264视频 ffmpeg -r 60 -f image2 -s 1920x1080 -i fram%d.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4 -vcodec h264 .\ffmpeg -r 60 -f image2 -s 1920x1080 -i %04d.jpeg -vcodec h264 test.mp4 %04d 表示用零来填充直到长度为4,i.e 000…...
个性定制还是纯粹简约:探寻界面选择背后的心理宇宙
在数码世界中,我们的界面选择成为了一张架起的桥梁,连接着个性的渴望与效率的追求。当我们面对个性化定制界面和极简版原装界面,我们仿佛站在了一座分岔路口,左右各有一片令人心驰神往的风景。究竟是走向五光十色的个性世界&#…...
【Java 高阶】一文精通 Spring MVC - 转发重定向(四)
👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
