Python开发环境配置

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 最新 Linux Mac .sh 文件
py3.10 py3.10 MAC版本 py3.10 Windows py3.9 Linux
py3.9 py3.9 MAC版本 py3.9 Windows py3.9 Linux
py3.8 py3.8 MAC版本 py3.8 Windows py3.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 图标旁边的文件名会弹出改名框,也可在「文件」菜单下的「重命名」进行改名。文件名最好有规律,如带上日期、需求名之类。

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

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

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

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

快捷键 功能
<tab> 代码提示
Shift+ Enter 执行本行并定位到新增的行
Shift+Tab(1-3次) 查看函数方法说明
D, D 连按 D 删除本行 (需按 Esc 退出编辑状态)
A / B 向上 / 下增加一行 (需按 Esc 退出编辑状态)
M / Y Markdown / 代码模式(需按 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魔法方法文档

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

相关推荐
Juchecar5 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780515 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_5 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机12 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机13 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机13 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机13 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i13 小时前
drf初步梳理
python·django
每日AI新事件13 小时前
python的异步函数
python
这里有鱼汤14 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python