在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 实现归并排序算法
Jun 05 Python
Python3.2中Print函数用法实例详解
May 19 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
Python实现的选择排序算法示例
Nov 29 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
Python中的集合介绍
Jan 28 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
python 生成器需注意的小问题
Sep 29 Python
用60行代码实现Python自动抢微信红包
Feb 04 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
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python正则-re的用法详解
2019/07/28 Python
python编写简单端口扫描器
2019/09/04 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
python 对xml解析的示例
2021/02/27 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
营销与策划专业毕业生求职信
2013/11/01 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
干部作风建设心得体会
2014/10/22 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
MySQL 原理与优化之Update 优化
2022/08/14 MySQL