Is it possible to run a pypy kernel in the Jupyter notebook?

被刻印的时光 ゝ 提交于 2019-12-04 10:13:58

问题


I have always wondered if it were possible to run PyPy in the Jupyter notebook. I recently tried installing PyPy on my local machine, and it ran really well - 100X speedup in an agent-based simulation written in pure Python. However, I miss the interactivity in the Jupyter notebook. Is it possible to make the IPython kernel use PyPy rather than CPython?


回答1:


You can install Jupyter with pypy:

pypy-pip install jupyter

The are problems on Mac OS X. If the install fails complaining a about gnureadline. Try this:

pypy-pip install --no-deps jupyter

Than start with:

pypy-ipython notebook

My pypy-ipython looks like this:

#!/usr/local/bin/pypy

# -*- coding: utf-8 -*-
import re
import sys

from IPython import start_ipython

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(start_ipython())

In a notebook:

In [1]: import sys

In [2]: sys.version

Out[2]:

'2.7.9 (295ee98b6928, May 31 2015, 07:28:49)\n[PyPy 2.6.0 with GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)]'

The notebook requires Python 2.7 or 3.3+. PyPy for Python3.3 should be out soon.

My pypy-pip this executable file /usr/local/bin//pypy-pip with this content:

#!/usr/local/bin/pypy
# EASY-INSTALL-ENTRY-SCRIPT: 'pip','console_scripts','pip'
__requires__ = 'pip'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip', 'console_scripts', 'pip')()
    )



回答2:


Provided you have a system-wide / user installation of jupyter. You can follow:

pypy3 -m venv PyPy3
source PyPy3/bin/activate
pypy3 -m pip install ipykernel
ipython kernel install --user --name=PyPy3

Now exit the virtual environment and verify installation:

jupyter kernelspec list

Open Jupyter notebook or lab interface.



来源:https://stackoverflow.com/questions/33850577/is-it-possible-to-run-a-pypy-kernel-in-the-jupyter-notebook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!