我最近被强烈安利了 Jupyter Notebook 这个交互式笔记本。然后试用了它自带的 Python 内核后,这个应用整体给我的感觉很不错,就去搜索了下它所支持的其它内核 Jupyter Kernels。我在下面内容介绍下该应用下如何安装 PHP 内核。

安装步骤

安装 PHP 内核 Jupyter-PHP

环境要求

  1. PHP >= 7.0
  2. 已安装 Jupyter Notebook
  3. Mac 上操作

步骤

  1. 全局安装 Composer


    $ curl -sS https://getcomposer.org/installer | php
    $ mv composer.phar /usr/local/bin/composer
  2. 安装 PHP-ZMQ 扩展

    (1) 下载编译


    $ git clone git://github.com/mkoppanen/php-zmq.git $ cd php-zmq $ phpize && ./configure $ make && make install

    (2)修改配置


    修改 php.ini 配置,添加 `extension=/path/modules/zmq.so`
  3. 下载 jupyter-php-installer.phar
  4. 执行 phar 安装程序

    $ php jupyter-php-installer.phar install

  5. 安装成功,显示 The Jupyter-PHP kernel has been successfully installed.

遇到并解决的问题

问题 1:

编译 PHP-ZMQ 无 autoconf 和 pkg-config

解决:


$ brew install autoconf
$ brew install pkg-config

问题 2:

Mac 上无 php.ini

解决:


$ sudo cp /etc/php.ini.default /etc/php.ini

问题 3:

编译的扩展 zmq.so 无法移动到 PHP 默认扩展路径 /usr/lib/php/extensions/no-debug-non-zts-20160303/

解决:

因为 macOS 系统完整性保护(SIP)将阻止你将 zmq.so 移动到默认路径下,而我又不想关闭SIP。所以处理办法是引入扩展写入绝对路径



        extension=/path/modules/zmq.so

问题 4:

使用 PHP 内核 并 print 打印出现了双输出

解决:

实际是因为它将打印的值和返回值无差别的输出导致的,而作者暂未解决。查看 issues

原文地址:https://segmentfault.com/a/1190000016107828

Jupyter Notebook 下安装 PHP 内核的更多相关文章

  1. Jupyter Notebook 介绍 安装和使用技巧

    Jupyter Notebook介绍.安装及使用教程 原文链接:https://www.jianshu.com/p/91365f343585 目录一.什么是Jupyter Notebook? 1. 简 ...

  2. Jupyter Notebook环境安装

    Jupyter Notebook环境安装 一.什么是jupyter Notebook 1.简介 Jupyter Notebook 是基于网页的用于交互计算机的应用程序器可被应用程序. 能让用户将说明文 ...

  3. python环境搭建以及jupyter notebook的安装和启动

    一.Python 环境搭建 本章节我们将向大家介绍如何在本地搭建Python开发环境. Python可应用于多平台包括 Linux 和 Mac OS X. 你可以通过终端窗口输入 "pyth ...

  4. python ipython notebook或者 jupyter notebook 的安装

    IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果.在浏览器的界面中使用单元(Cell)保存各种信息.Cell有多种类型,经常使用的有表示格式化文本的 ...

  5. 在windows下安装Jupyter Notebook的安装和使用

    1 认识jupyter jupyter /ˈdʒuːpɪtə(r)/可以提供适合捕捉整个计算过程的基于web的应用程序:开发.记录和执行代码,以及结果输出. jupyter Notebook提供了两个 ...

  6. Linux Ubuntu下Jupyter Notebook的安装

    Jupyter Notebook, 以前又称为IPython notebook,是一个交互式笔记本, 支持运行40+种编程语言. 可以用来编写漂亮的交互式文档. 安装步骤: pip install - ...

  7. Ubuntu下Jupyter Notebook的安装

    pip install --upgrade pip //更新pip pip install jupyter sudo apt install jupyter-notebook 运行 jupyter-n ...

  8. jupyter notebook下python2和python3共存(Ubuntu)

    提示NOTICE 时间:2018/04/06 主题:Ubuntu 下CAFFE框架 主角:Jupyter Notebook 简介: Jupyter Notebook(此前被称为 IPython not ...

  9. jupyter notebook的安装与使用

    一.jupyter notebool介绍 Jupyter Notebook是Ipython的升级版,而Ipython可以说是一个加强版的交互式 Shell,也就是说,它比在terminal里运行pyt ...

随机推荐

  1. InfluxDB 分布式时间序列数据库环境搭建——据qcon大会2016qiniu说集群很坑且闭源了

    InfluxDB 分布式时间序列数据库环境搭建   1. 环境说明 Ubuntu14.04  + influxDB V0.10.1 搭建3个节点的分布式数据库,副本数量2,各节点之间自动进行数据备份并 ...

  2. MySQL社区版是世界上最流行的开源数据库的免费

    昨天晚上搞了很久,终于搞清楚mysql的安装配置了,我真是太low了.当我在云服务器上登进Mysql时,真是高兴哈哈,咱一步一步来,彻底搞懂Mysql的安装配置. 我的安装环境: 阿里云服务器 1 2 ...

  3. 谈谈windows下克隆的坑

    本来在mac里一个项目里新建了一个I/O的文件夹. 当时就直接被系统自动改成了I:O.   本来也没多在意,感觉也不是什么大事. 这是push到GitHub上的样子. 当时没多想,感觉没什么问题,就是 ...

  4. 等价表达式 2005年NOIP全国联赛提高组(栈模拟)

    P1054 等价表达式 题目描述 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的 ...

  5. $P2121 拆地毯$

    \(problem\) \(kruskal\)的模板题. #ifdef Dubug #endif #include <bits/stdc++.h> using namespace std; ...

  6. 【BZOJ2944】[Poi2000]代码(卡特兰数)

    这题在网上找不到题解,硬写一下午终于写出来了-- 题目: BZOJ2944 分析: 首先明确: 比较两棵节点数相同的二叉树时,根节点是第一关键字,左子树是第二关键字,右子树是第三关键字: 然后我们分析 ...

  7. Spring boot中的定时任务(计划任务)

    从Spring3.1开始,计划任务在Spring中实现变得异常的简单.首先通过配置类注解@EnableScheduling来开启对计划任务的支持,然后再要执行的计划任务的方法上注释@Scheduled ...

  8. XML解析-Dom4j的DOM解析方式更新XML

    Dom4j工具,是非官方的,不在jdk中. 使用步骤: 1)导入dom4j的核心包. dom4j-1.6.1.jar 2)编写Dom4j读取xml文件的代码 1.更新XML 1.1.写出内容到xml文 ...

  9. [ SCOI 2008 ] 着色方案

    \(\\\) \(Description\) 给出\(K\)种颜料各自的个数\(C_i\),每一个颜料只够涂一个格子,求将颜料用完,涂一排格子,每个格子只能涂一次的条件下,相邻两个格子的颜色互不相同的 ...

  10. React Native状态机和应用设计思路

    React Native状态机和应用设计思路 在原生Android开发中:当用户点击“登录”按钮时,从用户名输入框中读取用户输入的用户名,从密码输入框中读取用户输入的密码,然后交给注册模块去处理.但是 ...