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…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
