【发布时间】:2016-02-24 08:25:51
【问题描述】:
我一直想知道是否可以在 Jupyter 笔记本中运行 PyPy。我最近尝试在我的本地机器上安装 PyPy,它运行得非常好——在用纯 Python 编写的基于代理的模拟中加速了 100 倍。但是,我怀念 Jupyter notebook 中的交互性。是否可以让 IPython 内核使用 PyPy 而不是 CPython?
【问题讨论】:
我一直想知道是否可以在 Jupyter 笔记本中运行 PyPy。我最近尝试在我的本地机器上安装 PyPy,它运行得非常好——在用纯 Python 编写的基于代理的模拟中加速了 100 倍。但是,我怀念 Jupyter notebook 中的交互性。是否可以让 IPython 内核使用 PyPy 而不是 CPython?
【问题讨论】:
前提是您在系统范围内/用户安装了jupyter。你可以关注:
pypy3 -m venv PyPy3
source PyPy3/bin/activate # in POSIX, or...
PyPy3\Scripts\activate.bat # in Windows
pypy3 -m pip install ipykernel
ipython kernel install --user --name=PyPy3
现在退出虚拟环境并验证安装:
jupyter kernelspec list
打开 Jupyter 笔记本或实验室界面。
【讨论】:
也许我们可以关注official doc:
pypy3 -m pip install ipykernel
pypy3 -m ipykernel install --user
【讨论】:
第一个答案在 Ubuntu 上对我很有效,但在 Fedora 上无效 - zeromq 无法编译
根据第一个答案,以下内容对我有用:
$ cd <portable-pypy-directory>
$ bin/python3 virtualenv/virtualenv.py <new-venv-dir>
$ <new-venv-dir>/bin/activate
$ pip install jupyter
$ ipython kernel install --user --name=PyPy3
【讨论】:
您可以使用 pypy 安装 Jupyter:
pypy-pip install jupyter
Mac OS X 上的问题。如果安装失败,则抱怨gnureadline。试试这个:
pypy-pip install --no-deps jupyter
比开头:
pypy-ipython notebook
我的pypy-ipython 看起来像这样:
#!/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 [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)]'
笔记本需要 Python 2.7 或 3.3+。 PyPy for Python3.3 应该很快就会出来了。
我的pypy-pip这个可执行文件/usr/local/bin//pypy-pip有这个内容:
#!/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')()
)
【讨论】:
pypy -m pip install package_name 或 pypy3 -m pip install package_name。
pypy-pip的内容。