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


Posted in Python onOctober 29, 2018

介绍方法之前,我们先说说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

以上这篇在PyCharm中三步完成PyPy解释器的配置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python批量提取word内信息
Aug 09 Python
Python中常见的数据类型小结
Aug 29 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
Python内建模块struct实例详解
Feb 02 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
Python3批量创建Crowd用户并分配组
May 20 Python
Python列表如何更新值
May 27 Python
python性能测试工具locust的使用
Dec 28 Python
asyncio异步编程之Task对象详解
Mar 13 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 #Python
Pycharm更换python解释器的方法
Oct 29 #Python
在Mac上删除自己安装的Python方法
Oct 29 #Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 #Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 #Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 #Python
PyCharm设置护眼背景色的方法
Oct 29 #Python
You might like
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
php的access操作类
2008/04/09 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Django中的ajax请求
2018/10/19 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
物理研修随笔感言
2014/02/14 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
cf收人广告词
2014/03/14 职场文书
普通党员对照检查材料
2014/08/28 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
python​格式化字符串
2022/04/20 Python