Python开发环境配置

news2024/11/26 2:49:43

Python 作为一个语言,代码需要一个解释器来进行解释,这个解析器就是专门针对 Python 代码的,只有它才知道这些代码是什么意思。编写代码也需要一定的工具,理论上所有的纯文本都可以编写代码,但工欲善其事必先利其器,好用的工具能够使我们事半功倍。

Python 安装说明

当然,你可以从 python 的官网「 https://www.python.org 」的下载栏目进行安装包下载,下载时需要按自己实际的操作系统( Windows 还是 Mac 等 )下载相应的包,进行界面化安装。不过这种安装不太推荐,我也不希望你这么做。因为这里有几个问题:

  • 这种安装比较复杂,比如在 Window 里还要设置一些环境变量
  • 容易与已有的 Python 冲突,Mac 操作系统会自带 Python (注意:它是 2.x 版本,并不能直接使用 )
  • 无法灵活切换版 Python 版本,有时间我们需要使用特定版本的 Python 需要灵活切换,这种模式无法做到灵活切换管理

等等,那么以上问题有没有解决的办法?有的,Anaconda 是一个环境套件,能够解决我们上述问题。

Anaconda

Anaconda是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本 python 并存、切换以及各种第三方包安装问题。

说到这里先不要动手去下载安装,因为 Anaconda 由于是一个大而全的套件,里边已经为大家安装好了常用的库包,并且还自带一些开发工具,从而使其巨大无比,安装后就是 1 个多 G,一旦运行电脑都显得有些吃力。为了解决这个问题,miniconda出现了。它小巧,安装包六七十M,下载、安装速度快。我们可以使用清华大学建立的镜像下载站点进行下载,由于服务器在国内,速度很快。

接下来,我们一起安装吧。

miniconda

打开以下网址:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
# 当然,你实在需要一个大而全的 Anaconda 可以用以下网址下载
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

按最后一列的时间排序,或者接页面拉到最后,找到最现在最近时间发布的安装包,Mac 电脑选择 MacOSX-x86_64.pkg Windows 选择 Windows-x86_64.exe 进行下载。py39 字样代表 Python 的默认版本是 3.9 版本。

以下是 miniconda 下载文件(截止 2022-12-23,最新的安装文件是默认 3.10 版本,安装后可创建其他 Python 版本的环境,包括 Python 2.x 和 Python 3.10 版本,如果不存在的版本可以在 conda-forge 中安装):

版本MAC(.pkg)Windows(.exe)Linux(.sh)备注
最新最新MAC版本最新 Windows最新 LinuxMac .sh 文件
py3.10py3.10 MAC版本py3.10 Windowspy3.9 Linux
py3.9py3.9 MAC版本py3.9 Windowspy3.9 Linux
py3.8py3.8 MAC版本py3.8 Windowspy3.8 Linux

下载完成后双击安装包按界面提示进行安装。安装完成后 :

  • Windows 会在开始菜单或者桌面产生一个终端管理器(Anconda Prompt 字样)
  • Mac 在电脑启动器里找到「终端」(Terminal)

MAC 和 Linux 可以用命令安装 .sh 文件:bash Miniconda3-latest-MacOSX-x86_64.sh (注意,需要 cd 命令到 sh 文件的目录)

启动它,可以看到类型这样的字样:

mac:
Last login: Wed Apr  8 15:28:02 on ttys001
(base) gairuo@MacBook Downloads %

windows:
(base) PS C:\Users\gairuo>_

其中 (base) 就是它默认的环境了,如果需要设置多 python 环境可以看下一节,否则直接使用它。

多 Python 环境

如果不需要多个 python 版本,跳过这儿。给新的环境起个名字,如起名 py311data 创建的用来专门做数据分析的,创建了 Python 3.11 版本的环境。常用命令如下:

# 创建新环境,<环境名称>, python 版本
conda create -n py311 python=3.11
# 删除环境
conda remove -n py311 --all
# 进入、激活环境
conda activate py311
# 退出环境
conda deactivate
# 查看所有虚拟环境及当前环境
conda info -e

# 其他不常用
conda -V # 查看conda的版本
conda update conda # 升级
conda list # 安装软件列表
conda install numpy # 安装库包,用 pip 也可以
conda uninstall numpy # 安装库包
conda search python # 查询支持的Python版本
# 使用 conda-forge 通道,对于一些 conda 没有的版本时使用
conda create -n py311 python=3.11 -c conda-forge

按下来就是安装三方库,一般用 pip 来管理三方库:

pip install numpy # 安装库
pip install numpy httpx django # 同时安装多个库
pip install numpy -U # 升级库,安装最新版
pip install numpy==1.24.2 # 安装指定版本
# 指定源,用国内源可加速下载
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
# 其他方法,如遇到无法安装的可尝试,如 lxml 在 Python 3.11 下报错,可用此方法
conda install -c anaconda lxml # anaconda 渠道
conda install -c conda-forge jupyterlab # conda 社区渠道

可以一次性创建环境+安装三方库(可指定版本),如:

conda create -c conda-forge -n py311 python==3.11.3 jupyterlab=3.6.3 'jupyterlab-lsp=4.1.0' 'jupyter-lsp-python=2.1.0' pandas httpx

安装编辑器

代码编辑器,即 IDE,编写代码的工具。代码编辑器可选择的比较多,一般可使用 Jupyter Lab(推荐,学习和数据分析)、Visual Studio Code(脚本和小项目)、PyCharm(大型项目)、 Sublime Text(文本编辑查看)。

我们初学不用使用大型的工程项目编辑器,如 Visual Studio Code、PyCharm,这里推荐 Jupyter Lab(它的上一代是 Jupyter Notebook),它是一个网页、界面化、即时反馈结果,后期在做数据分析、机器学习时,它的可视化功能也非常方便。

Jupyter 安装

提醒

JupyterLab 是 Notebook 未来的替代者,推荐套用使用。如果还是希望使用 Jupyter Notebook,可以用以下方法安装:
pip install jupyter,启动命令是 jupyter notebook

官网介绍:https://jupyter.org/install。在上文中提示的「终端」中输入以下代码再回车:

# 安装 Jupyter Lab, 使用清华的源加快下载速度
pip install jupyterlab -i https://pypi.tuna.tsinghua.edu.cn/simple

出现上文的终端命令提示符说明安装成功。

提醒

如果安装过程中出现红色提示安装停止,可能是网络超时原因,可重新输入回车(或者按键盘向上键从历史调出命令回来安装,或者试试其他源如豆瓣 https://pypi.douban.com/simple 、阿里源 http://mirrors.aliyun.com/pypi/simple )再尝试安装。

接下来启动 JupyterLab, 在终端输入:

# jupyter notebook
jupyter lab

这样就会在浏览器中打开一个网页(如没自动打开可按界面上提示的网址复制到浏览器手动打开),如果发现网页列出的目录和文件不是自己想要的,那么在启动 Jupyter Notebook 前 Windows 可以用 d:(换到D盘) , 然后 cd D:\gairuo\study (根据自己的实际目录,mac 直接使用类似 cd /Users/gr/Downloads ),再执行启动命令,这样 notebook 就默认在你指定的目录下了。

推荐安装 jupyterlab-lsp 插件,使用语言服务器协议为 JupyterLab 提供编码帮助(代码导航+悬停建议+linters+自动完成+重命名)。

# https://github.com/jupyter-lsp/jupyterlab-lsp
pip install jupyterlab-lsp -U
pip install jedi-language-server -U
pip install 'python-lsp-server[all]' -U # 与以上二选一
# 执行命令重启 JupyterLab

如果想格式化代码(一般快捷键是 ctr+l)可以安装如下插件:

# 代码格式化 
# 安装配置教程 https://github.com/ryantam626/jupyterlab_code_formatter
pip install jupyterlab-code-formatter
pip install black isort
# 执行命令重启 JupyterLab

如果想获得更好的代码提示、自动补全体验可以试用 VS code 和 PyCharm 中的 jupyter notebook 功能。

# 所有插件及开启状态
jupyter labextension list

# 关闭和开启单元格浮动工具栏
jupyter labextension disable @jupyterlab/cell-toolbar-extension
jupyter labextension enable @jupyterlab/cell-toolbar-extension

Jupyter 的使用

下面我们说说 jupyter 的使用。从一开始建议大家整理好自己的文件目录,记住创建的文件在哪个位置,这是很重要的。进入到合适的目录后,点击页面的新建(new)再选择 python 3 创建,这样就创建了一个代码编辑本,我们就可以在这儿写代码了。
Ju

jupyter notebook

文件改名,点击头部 jupyter 图标旁边的文件名会弹出改名框,也可在「文件」菜单下的「重命名」进行改名。文件名最好有规律,如带上日期、需求名之类。

可以测试一下其他菜单,比如插入行、删除行、合并行、拆分行、重启服务等。

留意页面右上 「python 3」旁边的圆圈,如果是实心的说明正在执行代码,同时代码行不会显示行执行编号,会显示星号,此时只需要等待就行。

Jupyter Lab 的使用和 Notebook 的类似,快捷键也基本相同。

下边是一些快捷键,尽量使用这这些快捷键来操作以提高效率:

快捷键功能
<tab>代码提示
Shift+ Enter执行本行并定位到新增的行
Shift+Tab(1-3次)查看函数方法说明
D, D连按 D 删除本行 (需按 Esc 退出编辑状态)
A / B向上 / 下增加一行 (需按 Esc 退出编辑状态)
M / YMarkdown / 代码模式(需按 Esc 退出编辑状态)
command/control + /注释 / 取消注释
i, i连按 i 退出单元格执行(需按 Esc 退出编辑状态)

下边是一些魔法方法,可以实现一些特定的功能:

方法功能
%time代码执行时间
{函数}?查看函数文档
%timeit {code}计时性能测试(算法复杂度)
%run {dir/code.py}脚本文件加载
%env查看所有环境变量
%%file test.py将 cell 中的脚本写入一个 py 文件
!python test.py执行脚本
!pip install numpy安装库包
pd.re*sq*?通配符查找相关属性方法
%whos 和 %whos int列出所有(指定类型)变量
%who_ls 和 %who_ls int列出所有(指定类型)变量,列表形式
%magic查看所有的IPython魔法方法文档

至此,万事俱备,我们开始写代码吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 办公自动化之 PDF 操作详解

1、PyMuPDF简介 1. 介绍 在介绍PyMuPDF之前&#xff0c;先来了解一下MuPDF&#xff0c;从命名形式中就可以看出&#xff0c;PyMuPDF是MuPDF的Python接口形式。 MuPDF MuPDF 是一个轻量级的 PDF、XPS和电子书查看器。MuPDF 由软件库、命令行工具和各种平台的查看器组成。 M…

安卓修改rom 移植rom必备常识 lib--**so文件基本解析

安卓系统lib-so文件 解包安卓固件中lib lib64分区下存在很多后缀为so的文件&#xff0c;其实都是系统的动态库&#xff0c;类似于win下面的*.dll&#xff0c;一般是由C/C编译成的动态库.在系统lib的文件夹下&#xff0c;置换移植其他系统的程序也需要修改更换相关so文件.没有它…

Android---底部弹窗之BottomSheetDialog

BottomSheetDialog 是Android开发中的一个弹出式对话框&#xff0c;它从屏幕底部弹出并覆盖部分主界面。 1. BottomSheetDialog的使用 // 参数2&#xff1a;设置BottomSheetDialog的主题样式&#xff1b;将背景设置为transparent&#xff0c;这样我们写的shape_bottom_sheet_…

C【函数】

1.常用API 1.strcpy&#xff1a;#include<string.h> char * strcpy ( char * destination, const char * source );int main(){char arr1[] "bit";char arr2[20] "###########";// bit\0########strcpy(arr2, arr1);printf("…

ChatGPT的未来

随着人工智能的快速发展&#xff0c;ChatGPT作为一种自然语言生成模型&#xff0c;在各个领域都展现出了巨大的潜力。它不仅可以用于日常对话、创意助手和知识查询&#xff0c;还可以应用于教育、医疗、商业等各个领域&#xff0c;为人们带来更多便利和创新。 在教育领域&#…

【刷题篇】贪心算法(二)

文章目录 找出工作所需最短时间活动选择无重叠区间 找出工作所需最短时间 某工厂有n个独立的作业&#xff0c;由m台相同的机器进行加工处理。作业i所需的加工时间为ti&#xff0c;任何作业在被处理时不能中断&#xff0c;也不能进行拆分处理。现厂长请你给他写一个程序:算出n个…

LLM 04-大模型的数据

LLM 03-大模型的数据 到目前为止&#xff0c;我们已经讨论了大型语言模型的行为&#xff08;能力和损害&#xff09;。现在&#xff0c;我们要剥开洋葱的第一层&#xff0c;开始讨论这些模型是如何构建的。任何机器学习方法的起点都是训练数据&#xff0c;因此这就是我们开始的…

JDK10特性

文章目录 JAVA10概述语法层次的变化局部变量的类型推断不能使用类型推断的场景变量的声明初始值nulllambda表达式方法引用为数组静态初始化成员变量不能使用其他不可以的场景 API层次的变化集合的copyOf方法 总结 JAVA10概述 2018年3月21日&#xff0c;Oracle官方宣布JAVA10正…

sizeof和strlen求取数组指针之辨析

目录 一维数组中sizeof Vs strlen 整型数组sizeof 字符数组 sizeof strlen 字符串数组 sizeof strlen 字符串的指针char *p sizeof strlen 二维数组中sizeof 今天主要来讲题目主要是数组&指针辨析题和笔试题。&#x1f197;最近心情有点焦虑。大家一定专注…

进阶测试知识之风险基础测试

风险基础测试&#xff08;Risk-Based Testing&#xff09;是一种测试策略&#xff0c;其主要思想是根据产品或系统中各个部分的风险程度来优先进行测试。风险通常是由两个因素决定的&#xff1a;一是问题&#xff08;如缺陷或错误&#xff09;发生的可能性&#xff0c;二是如果…

嵌入式入门教学——模电基础概念

目录 1、模拟信号和模拟电路 2、研究领域 3、常用术语 3.1、共价键 3.2、电场 3.3、温度的电压当量 3.4、动态信号 3.5、直流电流和交流电流 3.6、内阻 3.7、信号频率 3.8、电容 3.9、电感 3.10、相位 3.11、信号失真 3.12、电导 3.13、跨导 3.14、电位 3.15…

【小沐学NLP】AI辅助编程工具汇总

文章目录 1、简介2、国内2.1 aiXcoder2.1.1 工具特点2.1.2 部署方式2.1.3 使用费用2.1.4 代码测试2.1.4.1 代码搜索引擎2.1.4.2 在线体验 2.2 CodeGeeX2.2.1 工具特点2.2.2 部署方式2.2.3 使用费用2.2.4 代码测试 2.3 Alibaba Cloud AI Coding Assistant&#xff08;cosy&#…

PCalc for Mac - 打开科学计算新世界的好用工具

无论您是学生、教师、科学家还是专业计算人员&#xff0c;一款强大而易于使用的科学计算器都是必不可少的工具。现在&#xff0c;我们向您介绍PCalc for Mac&#xff0c;这是一款功能齐全且界面精美的科学计算器&#xff0c;将为您带来卓越的计算体验。 PCalc for Mac是一款专…

第二章 进程与线程 五、线程(概念)

一、定义 &#xff08;1&#xff09;线程是一个基本的CPU执行单元&#xff0c;也是程序执行流的最小单位。 &#xff08;2&#xff09;引入线程后提升了系统的并发度。 &#xff08;3&#xff09;引入线程后&#xff0c;进程只作为除CPU之外的系统资源的分配单元。 二、引入…

POJ 3684 Physics Experiment 弹性碰撞

一、题目大意 我们有N个半径为R厘米的球&#xff0c;固定在距离地面高度为H的管道上&#xff0c;刚开始释放第一个&#xff0c;之后每过一秒释放一个&#xff0c;释放下面的球不会影响到上面的球的高度&#xff0c;忽略一切阻力&#xff0c;认为球之间的碰撞为弹性碰撞&#x…

传统生产者和消费者问题,Sychronized版和Lock版

1.生产者和消费者问题Synchronized版 面试&#xff1a;单例模式、排序算法、生产者消费者、死锁 package com.kuang.pc;/*** 线程之间的通信问题&#xff0c;生产者和消费者问题&#xff01; 等待唤醒 &#xff0c;通知唤醒* 线程交替执行 A B 操作同一个变量 num0* A num1;*…

无涯教程-JavaScript - ASINH函数

描述 ASINH函数返回数字的反双曲正弦值。反双曲正弦是其双曲正弦为number的值,即ASINH(SINH(number))等于number。 语法 ASINH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则ASIN返回#VALUE!错误 …

想要精通算法和SQL的成长之路 - 填充书架

想要精通算法和SQL的成长之路 - 填充书架 前言一. 填充书架1.1 优化 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 填充书架 原题链接 题目中有一个值得注意的点就是&#xff1a; 需要按照书本顺序摆放。每一层当中&#xff0c;只要厚度不够了&#xff0c;当前层最高…

Chatbase:AI客服聊天机器人工具

【产品介绍】 名称 Chatbase.co 具体描述 Chatbase.co 是一个智能的聊天机器人平台&#xff0c;它可以帮助用户快速地构建、部署和分析用户的聊天机器人&#xff0c;无论 用户是一个初学者还是一个专家。用户可以使用 Chatbase.co …

什么是边缘计算网关?

边缘计算网关&#xff08;简称 边缘网关&#xff09;将云端功能扩展到本地的边缘设备&#xff0c;使边缘设备能够快速自主地响应本地事件&#xff0c;提供低延时、低成本、隐私安全、本地自治的本地计算服务。 同时所有服务都以 Docker 镜像方式安装&#xff0c;真正做到了跨平…