在PyCharm中三步完成PyPy解釋器的配置的方法
介紹方法之前,我們先說說Python的解釋器,由于Python是動態(tài)編譯的語言,和C/C++、Java或者Kotlin等靜態(tài)語言不同,它是在運行時一句一句代碼地邊編譯邊執(zhí)行的,而Java是提前將高級語言編譯成了JVM字節(jié)碼,運行時直接通過JVM和機器打交道,所以進行密集計算時運行速度遠高于動態(tài)編譯語言。
但是根據(jù)二八定律(帕累托法則),有80%的計算資源只被20%的程序所使用,因此在大部分情況下,原生的CPython解釋器已經(jīng)足夠滿足日常編程,加上很多科學計算庫底層都是C/C++寫的,一般不會用Python做密集計算。
然而,有個神奇的東西叫PyPy,它使用了JIT(即時編譯)技術(shù),混合了動態(tài)編譯和靜態(tài)編譯的特性,仍然是一句一句編譯源代碼,但是會將翻譯過的代碼緩存起來以降低性能損耗。相對于靜態(tài)編譯代碼,即時編譯的代碼可以處理延遲綁定并增強安全性。
現(xiàn)在官方最新版本是Python 3.5,當你從官網(wǎng)下載并安裝好Python后,就自帶了一個CPython解釋器,是使用最廣的Python解釋器,我們在終端使用python xxx.py命令就是調(diào)用的CPython解釋器。
我們剛才提到的Pypy也是一種解釋器,使用pypy xxx.py命令即可。
親測表示,密集計算時速度基本接近Java。
下面我們就說下怎么在PyCharm上安裝Pypy解釋器(以mac OS為例,其余系統(tǒng)后續(xù)再更新,過程其實是類似的)。
1.進入官網(wǎng)(http://pypy.org/download.html),可以發(fā)現(xiàn),目前PyPy官方兼容Python 3.5的包還在beta階段,只提供源碼和Linux版的beta包,所以沒有mac版的穩(wěn)定包,但是2.7已經(jīng)是穩(wěn)定版,找到Mac OS X binary (64bit)即可下載兼容2.7的包。
如果有同學實在需要Python 3版本的Pypy,那就點擊圖中的All our downloads,找到pypy3.3-v5.5.0-alpha-osx64.tar.bz2下載,這是目前可以直接使用的最新的兼容Python 3的mac系統(tǒng)的包,3.5估計要等一段時間吧。
2.好了,我廢話太多了,無論你是下的pypy2-v5.8.0-osx64.tar.bz2還是pypy3.3-v5.5.0-alpha-osx64.tar.bz2,現(xiàn)在解壓到任意目錄下面。
3.打開PyCharm,進入Preferences,找到Project:Python下面的Project Interpreter,在下拉列表中你就可以看到你現(xiàn)在所有的Python解釋器。
點擊Show All,然后添加,選Add Local,
找到你剛才解壓pypy的目錄,鎖定到bin目錄下面的pypy3.3,選中后OK。然后PyCharm會提示你Install相關(guān)的工具,點擊后會自動補充相關(guān)的工具,最后點擊OK即完成配置。
重新打開Python Console即可發(fā)現(xiàn)解釋器已經(jīng)變成了PyPy,如果需要切換回原生解釋器,再在Preferences里設(shè)置即可,這就是PyCharm方便之處。
不過需要注意的是,絕大部分 Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執(zhí)行可能會有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要知道它們存在差異的地方,參考官方文檔: http://pypy.readthedocs.org/en/latest/cpython_differences.html
以上這篇在PyCharm中三步完成PyPy解釋器的配置的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用pyinstaller打包含有g(shù)ettext?locales語言環(huán)境的項目(推薦)
最近在用 pyhton 做一個圖片處理的小工具,順便接觸了gettext,用來實現(xiàn)本地化化中英文轉(zhuǎn)換,本文通過一個項目給大家詳細介紹下,感興趣的朋友跟隨小編一起看看吧2022-01-01Python實現(xiàn)在數(shù)字中添加千位分隔符的方法小結(jié)
在數(shù)據(jù)處理和數(shù)據(jù)可視化中,經(jīng)常需要對大數(shù)值進行格式化,其中一種常見的需求是在數(shù)字中添加千位分隔符,本文為大家整理了三種常見方法,希望對大家有所幫助2024-01-01python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明
這篇文章主要介紹了python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Python SVM(支持向量機)實現(xiàn)方法完整示例
這篇文章主要介紹了Python SVM(支持向量機)實現(xiàn)方法,結(jié)合完整實例形式分析了基于Python實現(xiàn)向量機SVM算法的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下2018-06-06淺談python中的__init__、__new__和__call__方法
這篇文章主要給大家介紹了關(guān)于python中__init__、__new__和__call__方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友可以參考學習,下面來跟著小編一起看看吧。2017-07-07關(guān)于Python ImportError: No module named&nb
最近多個小伙伴兒問“ImportError: No module named xxx“,應該怎么樣解決,下面小編給大家?guī)砹岁P(guān)于Python ImportError: No module named 通用解決方法,感興趣的朋友一起看看吧2022-11-11