跳到正文
南歌 EuanSu
返回

IPython的安装与使用

IPython 安装与使用

IPython 提供了丰富的工具包,帮助您充分利用 Python 的交互功能。其主要组件包括:

安装

通过 pip 命令能够快速的安装 ipython,命令如下:

# 从pypi.org 安装较慢,这里建议使用国内镜像源
pip install ipython -i https://pypi.tuna.tsinghua.edu.cn/simple

安装 ipython 完成后,终端输入 ipython 即可进入交互环境。

image-20240709095241303

使用 ipython 时,发现了如下报错:

image-20240709095045728

这个问题的原因是 Python3.8 将 Windows 上默认事件循环更改为了 ProactorEventLoop,而非 SelectorEventLoop,因此会存在一些问题,执行如下代码,能够处理这个报错。

import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
loop = asyncio.get_event_loop()

image-20240709095549051

此外,ipython 已经集成到 Jupyter 项目中,因此安装 Jupyter 也可以使用 ipython ,安装 Anaconda 也可以通过 Jupyter 使用 ipython。

image-20240709095844248

使用

ipython 通过从 shell 发出命令来启动 IPython,启动后会有如下内容:

Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.12.3 -- An enhanced Interactive Python. Type '?' for help.

In [1]: 

四个最有用的命令

命令描述
?介绍 IPython 以及它的特性
%quickref快速引用
helpPython 自身的帮助信息
object?对象的介绍,方法以及使用文档

如下是以上四个命令的具体执行:

Tab 补全

使用 Tab 按键,即可查看对象的属性,除了 Python 的对象和关键字以外 Tan 补全还适用于文件和目录名称。

系统 shell 命令

要运行系统 shell 中的命令,只需要在前面加上 !,例如:

In [1]: !ping www.baidu.com

正在 Ping www.a.shifen.com [220.181.38.149] 具有 32 字节的数据:
来自 220.181.38.149 的回复: 字节=32 时间=26ms TTL=52
来自 220.181.38.149 的回复: 字节=32 时间=32ms TTL=52
来自 220.181.38.149 的回复: 字节=32 时间=23ms TTL=52
来自 220.181.38.149 的回复: 字节=32 时间=23ms TTL=52

220.181.38.149 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 23ms,最长 = 32ms,平均 = 26ms

启动文件

将启动要执行的文件放置到 ~/./IPython/profile_default/startup目录下,这里准备一个 env_setup.py 更改事件循环的方式,代码如下:

import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
loop = asyncio.get_event_loop()
print("事件循环方式已更改~")

再次执行 ipython 进入终端环境,env_setup.py 文件正常被执行。

(.venv) PS D:\Code\Python\PythonBase> ipython
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.12.3 -- An enhanced Interactive Python. Type '?' for help.
事件循环方式已更改~

In [1]:

评论


上一篇
Django使用连接串配置数据库
下一篇
Tkinter 实现一个计算器