【问题标题】:Is it possible to run a pypy kernel in the Jupyter notebook?是否可以在 Jupyter 笔记本中运行 pypy 内核?
【发布时间】:2016-02-24 08:25:51
【问题描述】:

我一直想知道是否可以在 Jupyter 笔记本中运行 PyPy。我最近尝试在我的本地机器上安装 PyPy,它运行得非常好——在用纯 Python 编写的基于代理的模拟中加速了 100 倍。但是,我怀念 Jupyter notebook 中的交互性。是否可以让 IPython 内核使用 PyPy 而不是 CPython?

【问题讨论】:

    标签: python pypy jupyter


    【解决方案1】:

    前提是您在系统范围内/用户安装了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 笔记本或实验室界面。

    【讨论】:

    • 已确认可与 Homebrew 的 macOS 10.14.4 和 pypy3 7.1.1-beta0 一起使用。 Jupyter 是从 Anaconda 安装程序安装的,并使用 Anaconda-Navigator 启动。谢谢。
    • 谢谢@jadelord。这应该是公认的答案!简单又方便。
    • 感谢@paugier(小世界;))。 You might also find these aliases useful
    • 2021 UPDATE HERE (WINDOWS):我使用了此代码,但第二行有问题:source PyPy3/bin/activate 我必须将其替换为:PyPy3\Scripts\activate。蝙蝠来源:docs.python.org/3/library/venv.html
    【解决方案2】:

    也许我们可以关注official doc

    pypy3 -m pip install ipykernel
    pypy3 -m ipykernel install --user
    

    【讨论】:

    • 这应该被接受。
    【解决方案3】:

    第一个答案在 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
    

    【讨论】:

    【解决方案4】:

    您可以使用 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_namepypy3 -m pip install package_name
    • 添加pypy-pip的内容。
    • 这不是让整个事情在 PyPy 下运行,而不仅仅是在内核下运行吗?
    • 是的,这里就是内核。 OP 想在 Notebook 中使用 PyPy。你也可以run different kernels with one Notebook server
    • @MikeMüller 您分享的链接没有提到 pypy。您能否在此处添加一个答案,详细说明如何将 pypy 内核功能添加到现有的非 pypy jupyter 安装?
    猜你喜欢
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2021-04-07
    • 2016-01-06
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多