在PyCharm中三步完成PyPy解释器的配置的方法

作者:针叶 时间:2021-02-20 04:12:17 

介绍方法之前,我们先说说Python的解释器,由于Python是动态编译的语言,和C/C++、Java或者Kotlin等静态语言不同,它是在运行时一句一句代码地边编译边执行的,而Java是提前将高级语言编译成了JVM字节码,运行时直接通过JVM和机器打交道,所以进行密集计算时运行速度远高于动态编译语言。

但是根据二八定律(帕累托法则),有80%的计算资源只被20%的程序所使用,因此在大部分情况下,原生的CPython解释器已经足够满足日常编程,加上很多科学计算库底层都是C/C++写的,一般不会用Python做密集计算。

然而,有个神奇的东西叫PyPy,它使用了JIT(即时编译)技术,混合了动态编译和静态编译的特性,仍然是一句一句编译源代码,但是会将翻译过的代码缓存起来以降低性能损耗。相对于静态编译代码,即时编译的代码可以处理延迟绑定并增强安全性。

现在官方最新版本是Python 3.5,当你从官网下载并安装好Python后,就自带了一个CPython解释器,是使用最广的Python解释器,我们在终端使用python xxx.py命令就是调用的CPython解释器。

我们刚才提到的Pypy也是一种解释器,使用pypy xxx.py命令即可。

亲测表示,密集计算时速度基本接近Java。

下面我们就说下怎么在PyCharm上安装Pypy解释器(以mac OS为例,其余系统后续再更新,过程其实是类似的)。

1.进入官网(http://pypy.org/download.html),可以发现,目前PyPy官方兼容Python 3.5的包还在beta阶段,只提供源码和Linux版的beta包,所以没有mac版的稳定包,但是2.7已经是稳定版,找到Mac OS X binary (64bit)即可下载兼容2.7的包。

在PyCharm中三步完成PyPy解释器的配置的方法

在PyCharm中三步完成PyPy解释器的配置的方法

如果有同学实在需要Python 3版本的Pypy,那就点击图中的All our downloads,找到pypy3.3-v5.5.0-alpha-osx64.tar.bz2下载,这是目前可以直接使用的最新的兼容Python 3的mac系统的包,3.5估计要等一段时间吧。

在PyCharm中三步完成PyPy解释器的配置的方法

2.好了,我废话太多了,无论你是下的pypy2-v5.8.0-osx64.tar.bz2还是pypy3.3-v5.5.0-alpha-osx64.tar.bz2,现在解压到任意目录下面。

3.打开PyCharm,进入Preferences,找到Project:Python下面的Project Interpreter,在下拉列表中你就可以看到你现在所有的Python解释器。

在PyCharm中三步完成PyPy解释器的配置的方法

在PyCharm中三步完成PyPy解释器的配置的方法

点击Show All,然后添加,选Add Local,

在PyCharm中三步完成PyPy解释器的配置的方法

找到你刚才解压pypy的目录,锁定到bin目录下面的pypy3.3,选中后OK。然后PyCharm会提示你Install相关的工具,点击后会自动补充相关的工具,最后点击OK即完成配置。

在PyCharm中三步完成PyPy解释器的配置的方法

重新打开Python Console即可发现解释器已经变成了PyPy,如果需要切换回原生解释器,再在Preferences里设置即可,这就是PyCharm方便之处。

在PyCharm中三步完成PyPy解释器的配置的方法

不过需要注意的是,绝大部分 Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要知道它们存在差异的地方,参考官方文档: http://pypy.readthedocs.org/en/latest/cpython_differences.html

来源:https://blog.csdn.net/ysy950803/article/details/75039985

标签:PyCharm,PyPy,解释器
0
投稿

猜你喜欢

  • python opencv进行图像拼接

    2022-09-10 16:13:01
  • 科讯cms文章分页列表页码样式的修改

    2008-07-10 13:11:00
  • 如何使用django的MTV开发模式返回一个网页

    2023-07-04 21:47:06
  • 在flash中使用XML动态菜单

    2007-09-06 19:16:00
  • Centos 安装 PHP7.4 和 Nginx的操作方法

    2023-10-14 01:11:55
  • python使用Matplotlib画条形图

    2023-09-04 06:30:50
  • [翻译]标记语言和样式手册 Chapter 12 CSS布局

    2008-02-13 14:19:00
  • 兼容低版本 IE 的 JScript 5.5 实现

    2008-07-01 12:48:00
  • Asp中如何设计跨越域的Cookie

    2008-10-24 09:46:00
  • ASP对FoxPro自由表(DBF文件)的操作

    2010-05-27 12:20:00
  • python可视化分析绘制带趋势线的散点图和边缘直方图

    2023-08-16 04:10:10
  • 如何使用python把ppt转换成pdf

    2022-09-20 14:27:14
  • Python3基础教程之递归函数简单示例

    2022-07-19 17:19:16
  • MySql节点管理安装步骤

    2010-10-14 14:13:00
  • 文案是网站的性格

    2009-09-02 13:05:00
  • php设计模式之装饰模式应用案例详解

    2023-11-14 13:37:20
  • Oracle的数据字典技术简析

    2010-07-20 13:03:00
  • python爬虫神器Pyppeteer入门及使用

    2022-07-05 08:09:16
  • CSS背景图片的运用优化HTTP连接数

    2008-09-04 21:38:00
  • Python telnet登陆功能实现代码

    2022-08-13 01:52:56
  • asp之家 网络编程 m.aspxhome.com