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

Python开发环境

在这里插入图片描述

在正式写下第一行 Python 代码之前,让我们先为这趟旅程铺好轨道。
无论你是刚刚启程的初学者,还是希望把环境打理得更优雅的进阶者,都绕不开这几个关键词:版本、安装、包、编辑器、虚拟环境,以及那只听上去像“猪”的神秘工具——pip。

本系列的第一篇,我们就从这些“基础设施”聊起,帮你把 Python 世界的入口打扫干净,再从容地推开大门。

1. Python安装

官网地址 Welcome to Python.org
这里我们选择的最新版本3.13,未来如果要做AI开发,基本上都是需要3.12+以上版本。
在这里插入图片描述
安装的时候可以默认提示一路安装,也可以自定义到自己的某个安装目录。
安装成功后打开
在这里插入图片描述
点击Python3.13应用就可以进入写编程了
在这里插入图片描述

我们一般都是使用编辑器来编写代码,Python有内置的IDLE,但是相对比较简单。我们会推荐使用PyCharm来写和运行Python。大家可以去安装PyCharm破解版。

2. 关于包和虚拟环境

2.1 包

其实就是一组代码,和Java等其他语言的库是类似的。Python有内置包,通过import可以导入这些包,可以完成大部分的基本功能。如果需要其他超出基本包功能,就需要安装其他包。
获取其他包很容易,直接可以通过pip工具来安装这些三方包,后面有介绍。

2.2 虚拟环境

如果我们安装第三方包放在一个地方,一些第三方包需要先安装其他包,那么这些包就会存在冲突的风险,所以这里引入了虚拟环境。每个项目都可以构建自己的虚拟环境,每个项目就可以在自己的环境中安装需要的包,从而避免项目之间可能存在的包冲突的风险。
在这里插入图片描述

包冲突


在这里插入图片描述

各自名下的虚拟环境,沙箱隔离

2.3 如何创建一个虚拟环境

虚拟环境其实就是一个专用的目录。目录名称为env或者venv,
在Pycharm中创建项目,选择解释器类型项目venv。
在这里插入图片描述
在这里插入图片描述

3. pip

pip是包管理工具,安装第三方包就很容易。

3.1 安装包

安装一个包,可以通过命令语句pip install package。比如pip install pandas 就可以将pandas以及相关依赖包都下载下来。如何需要指定某个包的版本加 == ,比如pip install pandas==2.3.1

3.2 requirement.txt

我们可以在项目下创建一个requirement.txt文件,在这个文件里面
在这里插入图片描述
pandas>=2.3.1 ,表示“至少这个版本或更高版本”

pandas~=2.3.1 ,表示“只要 主版本号 2、次版本号 3 不变,补丁号 ≥ 1 的任何版本都算兼容。
等同 >= 2.3.1, == 2.3.*” ,比如2.3.1, 2.3.4都可以,但是2.4.* ,2.5.* 都不行

通过命令 pip install -r requirementx.txt 就可以直接安装所有包。
以后我们还会再次学习requirements.txt , 介绍打包和分发。

3.3 更新包

pip install --upgrade pandas

pip install --upgrade -r requirements.txt

3.4 卸载包

pip uninstall package

注意:卸载一个包时候,只会卸载当前这个包,这个包所依赖的其他包是不会被卸载的,所以如果要卸载所有依赖的包,需要手动处理,这样会比较麻烦。好在如果是虚拟环境,我们可以直接删除这个虚拟环境,重新创建虚拟环境,然后只安装所需要的包即可。

3.5 搜索包

查看pip中哪些包可以使用
pip search web scraping 来搜索,新版本官方已不再支持,

可以在浏览器中直接搜索,打开 https://pypi.org,在页面顶部搜索框里输入关键字即可,功能最全、结果最准确。

http://www.dtcms.com/a/336171.html

相关文章:

  • 密码学系列 - 零知识证明(ZKP) - 多种承诺方案
  • Windows Server SDN智能流量管理方案
  • 网络通信的基本概念与设备
  • 【力扣热题100】双指针—— 接雨水
  • Ubuntu22系统docker部署Dify【教程】
  • go资料汇总
  • 上网行为组网方案
  • 图论水题4
  • 隐私屏软件(支持win10以上系统)
  • Python异常、模块与包(五分钟小白从入门)
  • Android面试指南(二)
  • 工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)
  • JavaScript 中constructor 属性的指向异常问题
  • Python实现区域生长和RANSAC聚类
  • 线程基本API
  • 输入坐标移动
  • 在线编程题目之小试牛刀
  • 多线程—飞机大战(加入排行榜功能版本)
  • 数字化转型成功案例:赋能供应链运输成本精细化管理
  • 网络编程3(网络层,数据链路层)
  • 批次号规则
  • Vue中v-show与v-if的区别
  • 【AI论文】序曲(PRELUDE):一项旨在考察对长文本语境进行全局理解与推理能力的基准测试
  • C语言私人学习笔记分享
  • STM32单片机学习日记
  • 第四章:大模型(LLM)】06.langchain原理-(7)LangChain 输出解析器(Output Parser)
  • 模型提取的相关经验
  • 库制作与原理(下)
  • 端到端测试:复杂系统的终极体检术
  • 【C2000】德州仪器C2000产品开发板的原理图如何找到?