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…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...