python开发环境配置
- 下载python安装包
- 安装python
- 配置环境变量
- 调整类库下载位置
安装python
安装python是指安装python的基础编译环境及python运行所需的必须资源,类似于安装java的JDK
python2与python3差异
进行python安装前,需要先了解python2和python3的差异,以便选择适合自己的开发环境。
特性 | Python 2 | Python 3 |
---|---|---|
打印语句 | print "Hello, world!" | print("Hello, world!") |
整数除法 | 5 / 2 输出 2 (整数除法) | 5 / 2 输出 2.5 (浮点除法) |
Unicode 支持 | 默认字符串为字节串,Unicode 需声明 | 默认字符串为 Unicode,字节串需声明 |
异常处理 | except IOError, ValueError: | except (IOError, ValueError): |
迭代器和生成器 | 使用 .next() 方法 | 使用 next() 函数 |
输入函数 | raw_input() 获取字符串,input() 执行代码 | input() 获取字符串 |
模块改名和重构 | 例如 urllib , urllib2 , urlparse | 合并为 urllib |
函数参数 | 可以不使用关键字传递 | 推荐使用关键字传递 |
整数类型 | int 和 long | 只有 int |
退出函数 | sys.exit() 或 os._exit() | sys.exit() |
标准库变化 | 多个模块存在差异 | 许多模块被更新和改进 |
编码问题 | 默认编码 ASCII,需设置为 UTF-8 | 默认编码 UTF-8 |
元组参数解包 | 允许不完整解包 | 禁止不完整解包 |
除法运算符 / | 执行整数除法时结果为整数(如果两个操作数都是整数) | 总是执行浮点除法 |
…… | …… | …… |
这些差异导致了 Python 2 和 Python 3 代码的不兼容,因此在迁移项目时需要进行代码修改。Python 2 已于 2020 年 1 月 1 日正式停止支持,因此推荐使用 Python 3。
下载python安装包
打开python官网:Welcome to Python.org
选择相应的版本安装包:
根据自身的操作系统情况选择对应的版本安装包进行下载 (考虑到新版本未经过充分的使用验证和反馈,可以选择稳定的旧版本)
这里以python 3.13版本为基础进行安装说明,另外补充一下python3.13的特性如下:
python3.13特性:
- 全新的交互式解释器,支持多行编辑和颜色支持,以及颜色化异常追踪。
- 实验性的无全局解释锁(no-GIL)的自由线程构建模式,允许线程更并发地运行。
- 初步的即时编译器(JIT),为显著的性能提升奠定基础。
- 改进的
locals()
内置函数,允许调试器更一致地操作。- 包含新版的mimalloc,作为可选功能但默认启用,如果平台支持,自由线程构建模式需要使用它。
- 文档字符串的前导缩进被剥离,减少内存使用和.pyc文件的大小。
- dbm模块有了新的dbm.sqlite3后端,创建新文件时默认使用。
- 最低支持的macOS版本从10.9更改为10.13(High Sierra),不再支持旧的macOS版本。
- WASI现在是二级支持的平台,Emscripten不再被官方支持的平台(但Pyodide继续支持Emscripten)。
- iOS和Android现在被列为三级支持的平台。
这些改进预计会显著提升Python代码的性能,尤其是在CPU密集型任务上。Python 3.13在禁用GIL的自由线程模式下性能明显优于其他版本,这表明此版本的Python能够充分利用计算机上的所有内核。而启用JIT的Python 3.13也比Python 3.12和常规的Python 3.13更快
安装python
打开下载的on-3.13.0-amd64.exe
这里一般选择自定义安装
选择安装
完成安装
进入cmd命令行,win+R,输入 python 命令,验证安装及环境变量是否成功
若执行命令提示符,输入python后,返回的结果如上图,则说明环境变量已经自动配置,则不需要再手动配置环境变量;
显示找不到Python的话,证明未进行环境变量配置(python3安装未勾选 Add python.exe to PATH),此时需要手动进行环境变量配置。
环境变量配置
打开 "我的电脑",空白处右键选择 “属性”;
选择“高级系统设置”
选择环境变量
考虑大多数个人PC都是一个用户使用,此时一般我们加在当前用户里即可,操作方式即选择红色圈中内容,双击打开:
选择新建,然后在里面添加Python的安装路径即可
一般需要添加两个路径,即安装时选择的安装路径
- Python安装根路径(我当时安装在D盘,所以填写当时的安装路径即可)
- Script目录: Python工具路径(一般在安装路径下就有该文件)
配置完成后,再打开cmd窗口,进行python命令验证:
python库配置
进行python开发时,需要依赖各种类库:
import requests
from bs4 import BeautifulSoupurl = 'https://example.com' # 发送HTTP GET请求
response = requests.get(url)
关键字 import 引入第三方类库,此时就需要进行本地类库下载,以便满足依赖需要;类似于java使用的maven,python则是通过 pip 进行依赖的下载 ,我们需要使用requests类库,就需要先进行 pip 拉取 requests的类库。
配置pip的镜像
和maven一样,我们需要先配置资源镜像,即我们要从哪里下载第三方类库,这里我们使用清华的:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
其他镜像:
① 阿里镜像:
https://mirrors.aliyun.com/pypi/simple/
② 百度镜像:
https://mirror.baidu.com/pypi/simple/
③ 清华镜像:
https://pypi.tuna.tsinghua.edu.cn/simple/
如何查看pip下载的依赖默认存放位置
可以直接在cmd命令窗口下通过 命令查看
pip show pip
能看到,使用pip安装的第三方依赖库存放位置在 D:\Python\Lib\site-packages 下。
此时我们下载一下 requests 三方库
pip install requests
此时去 D:\Python\Lib\site-packages目录下,发现了requests相关的依赖:
修改pip安装路径
为了方便环境的迁移和开发,或者防止三方库数据太大,占满文件,一般需要额外指定安装路径,这样下载的三方库文件都会放到指定的文件夹下被使用。
修改python大环境的安装默认路径,就去python安装目录下 Lib/site.py 文件里修改user_site和user_base
- USER_BASE:这是一个用于存放用户级别数据的目录路径,通常用于存放用户配置文件等。
- USER_SITE:这是用户级的site-packages目录,通常用于存放用户安装的第三方库。这个目录允许用户在不需要管理员权限的情况下安装Python包。
这里进行配置:
USER_SITE = "E:\PythonPackage"
USER_BASE = "D:\Python\Scripts"
再进行安装新依赖
pip install faker
则新faker依赖被下载到 E:\PythonPackage下 了
相关文章:

python开发环境配置
下载python安装包安装python配置环境变量调整类库下载位置 安装python 安装python是指安装python的基础编译环境及python运行所需的必须资源,类似于安装java的JDK python2与python3差异 进行python安装前,需要先了解python2和python3的差异࿰…...

QT开发--QT SQL模块
第十五章 QT SQL模块 15.1 QT SQL模块概览 Qt SQL模块是Qt框架中操作数据库的组件,提供易用API,支持SQLite、MySQL等多种数据库。它包含数据库驱动与连接功能。 15.1.1 QSqlDatabase 类 在Qt SQL模块中,数据库驱动基于QSqlDriver类…...
如何保证接口幂等性?
一、什么是接口幂等性? 幂等性是指:同一请求,执行很多次,最终结果都一样。 二、为什么会产生接口幂等性问题? 那么,什么情况下,会产生接口幂等性的问题呢? 网络波动, 可能会引起重…...

【9718】基于springboot+vue的生鲜交易系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 项目描述 生鲜交易管理方面的任务繁琐,以至于交易市场每年都在生…...
Spring循环依赖解决方案
解决方案 使用提前暴露机制三级缓存进行解决 singletonObjects一级缓存,存放完整的 Bean。earlySingletonObjects二级缓存,存放提前暴露的Bean,Bean 是不完整的,未完成属性注入和执行 init 方法。singletonFactories三级缓存(用…...

解决 IntelliJ IDEA 运行时 “Command line is too long“ 问题
文章目录 文章标题:解决 IntelliJ IDEA 运行时 "Command line is too long" 问题简介问题描述解决方案代码示例代码示例1:使用JAR Manifest代码示例2:使用Classpath File代码示例3:优化项目依赖 结论进一步的资源 文章标…...

鸿蒙网络编程系列5-TCP连接超时分析
1. TCP连接超时简介 TCP是面向连接的协议,通过三次握手建立连接,但是,在建立连接的过程中对方有可能没有响应,这时候发起连接的一方会重试,如果重试多次仍然没有响应,就会触发超时,从而导致连接…...

金蝶云星空移动字段后关闭页面后重新打开无效
有同事反馈,单据的明细字段里面移动了字段,然后退出,其他字段都能按最后排版的位置显示,有个别字段始终无法按照排版的位置显示。 只需要打开BOS平台,找到对应字段,然后更改可见性。...

幂律分布笔记
一、幂律分布的数据拟合 数据分箱: 所谓分箱就是对原始数据进行分组,然后对每一组内的数据进行平滑处理。常见的分箱方式主要有等深分箱、等宽分箱、用户自定义等 对数分箱: 对原数据进行分箱,第i个箱的宽度为bi,b…...

一些NLP代表性模型
(一)BERT 由Bidirectional Encoder Representations from Transformers的首字母组成,是encoder-only结构类型的代表。 模型分预训练和微调两步,预训练任务有两类:masked language model(MLM)、next sentence predict…...

低代码移动端开发:未来的趋势与挑战
什么是低代码移动端开发? 低代码移动端开发平台允许开发者通过可视化界面和少量编码来构建应用程序。相较于传统的代码开发,低代码平台大大降低了技术和学习门槛,使非专业开发人员也能参与到移动应用的开发过程中。 低代码移动端开发的优势 …...

【Linux】嵌入式Linux系统的组成、u-boot编译
Linux—嵌入式Linux系统的组成、u-boot编译 前言一、嵌入式Linux系统的组成1.1 嵌入式Linux系统和PC完整的操作系统的对比如下:1.2 PC机—Windows系统启动流程(PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似) 二、编译u-boot2.1 u-bo…...
Qt打开excel文件,并读取指定单元格数据
1. 下载并安装QXlsx库,详见之前的博文Qt子线程创建excel文件报错QObject: Cannot create children for a parent that is in a different thread.-CSDN博客 2. // 创建一个XlsxDocument对象QString filename "D:\\mydocuments\\data_acquisition\\data\\tes…...

适合下班回家做的小副业,用AI做视频,几天时间3000+
大家好,今天要给大家分享的项目是定制儿歌,精准定位宝妈群体,每天轻松赚500! ***01* 项目原理 父母都非常疼爱自己的孩子,愿意为孩子提供独特的东西。而我们正是利用这一点,通过免费AI工具生成专属的儿童…...

git的基本操作 + 分支管理
一、基本操作 1. 修改文件 Git比其他的版本管理器设计得更加优秀,因为Git追踪并管理的是修改,而非文件。 修改一个文件,不管你是添加一行,或者删除一行,还是添加了又删除了,甚至你创建了一个新文件&…...

VRRP
1、VRRP简介 虚拟路由冗余协议 VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时(单点故障…...

个人健康系统|个人健康数据管理系统|基于小程序+java的个人健康数据管理系统设计与实现(源码+数据库+文档)
个人健康数据管理系统 目录 基于小程序java的个人健康数据管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…...

R语言统计分析——折线图
参考资料:R语言实战【第2版】 如果将散点图上的点从左到右连接起来,就会得到一个折线图。以基础安装中的Orange数据集为例,展示如下: # 设置绘图参数 opar<-par(no.readonly TRUE) # 画布拆分为1行2列 par(mfrowc(1,2)) # 选…...
前端怎么实现电子签名
电子签名(e-signature)作为一种数字化的签署方式,广泛应用于合同、协议等文件的确认中。随着科技的发展,前端技术也为电子签名的实现提供了便利。本文将探讨在前端如何实现电子签名,包括技术选型、实现步骤及注意事项。…...

数字后端零基础入门系列 | Innovus零基础LAB学习Day1
一 Floorplan 数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频) Lab5-1这个lab学习目标很明确——启动Innovus工具并完成设计的导入。 在进入lab之前,我们需要进入我们的FPR工作目录。 其中ic062为个人服务器账户。比如你端…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...