Mac上双击打开jupyter文件
jupyter的文件是.ipynb文件, 实际上是纯文本写的json, 但要按可编辑可运行的方式打开它, 有几种方式:
- 在命令行运行jupyter notebook 文件名
- 或者在命令行运行jupyter lab 文件名
- 用nteract打开
- 在atom里安装jupyter notebook package, 然后用atom打开.
第一种最佳, 但不方便, 我不是常规打开终端的. 第二种有时候特慢, 而且如果没有设置好kernel的话, 运行jupyter文件总是容易报错. 第三种大概比第二种略差, 而且我每次装这个package的时候都会被杀毒软件拦下来.
我很希望有个能够双击打开.ipynb文件的方式. 打开以后还能够正常编辑和运行. 上推一问. 果然在@xuanyuanzhiyuan和@kyleehee的指导下成功了. 写blog以记录之.
-
打开Automator(现在中文叫'自动操作')
-
新建->应用程序
- 选取"资源库"->"实用工具"->"运行AppleScipt"
- 在右侧"运行AppleScipt"栏里写下:
on run {input} set the_path to POSIX path of input set cmd to "jupyter notebook " & quoted form of the_path tell application "System Events" to set terminalIsRunning to exists application process "Terminal" tell application "Terminal" activate if terminalIsRunning is true then do script with command cmd else do script with command cmd in window 1 end if end tell end run
注意"jupyter notebook "末尾一定要有空格. 也可以使用jupyter lab, 看你喜欢. 但前提一定是在进入终端以后可以直接运行jupyter的状态, 如果你需要用anaconda先切换到某个环境下再用jupyter, 那么需要在前面加上另一条do script, 引号里是你需要先运行的命令, 比如要启动myenv这个环境, 平时可能需要输入的是source activate myenv
, 注意一条命令以后貌似需要delay一下, 后面的数字看情况.
do script "source activate myenv" deply 3 do script with command cmd
加入以后完整的是这样的:
on run {input} set the_path to POSIX path of input set cmd to "jupyter notebook " & quoted form of the_path tell application "System Events" to set terminalIsRunning to exists application process "Terminal" tell application "Terminal" activate if terminalIsRunning is true then do script "source activate myenv" deply 3 do script with command cmd else do script "source activate myenv" in window 1 deply 3 do script with command cmd in window 1 end if end tell end run
- 保存成一个.app文件. 就成了一个应用程序了. 放进应用程序文件夹, 例如叫jupyter_launcher.app
- 随便找个.ipynb文件, 右键->显示简介->打开方式->其他, 在应用程序里找到jupyter_launcher,
- 然后选择"全部更改"
全套完成, 以后就可以双击直接打开jupyter文件了. 会自动先打开一个终端, 然后用jupyter notebook运行, 文件在浏览器里可以显示和编辑并且运行.
- 参考: https://superuser.com/questions/139352/mac-os-x-how-to-open-vim-in-terminal-when-double-click-on-a-file
jupyter的文件是.ipynb文件, 实际上是纯文本写的json, 但要按可编辑可运行的方式打开它, 有几种方式:
- 在命令行运行jupyter notebook 文件名
- 或者在命令行运行jupyter lab 文件名
- 用nteract打开
- 在atom里安装jupyter notebook package, 然后用atom打开.
第一种最佳, 但不方便, 我不是常规打开终端的. 第二种有时候特慢, 而且如果没有设置好kernel的话, 运行jupyter文件总是容易报错. 第三种大概比第二种略差, 而且我每次装这个package的时候都会被杀毒软件拦下来.
我很希望有个能够双击打开.ipynb文件的方式. 打开以后还能够正常编辑和运行. 上推一问. 果然在@xuanyuanzhiyuan和@kyleehee的指导下成功了. 写blog以记录之.
-
打开Automator(现在中文叫'自动操作')
-
新建->应用程序
- 选取"资源库"->"实用工具"->"运行AppleScipt"
- 在右侧"运行AppleScipt"栏里写下:
on run {input} set the_path to POSIX path of input set cmd to "jupyter notebook " & quoted form of the_path tell application "System Events" to set terminalIsRunning to exists application process "Terminal" tell application "Terminal" activate if terminalIsRunning is true then do script with command cmd else do script with command cmd in window 1 end if end tell end run
注意"jupyter notebook "末尾一定要有空格. 也可以使用jupyter lab, 看你喜欢. 但前提一定是在进入终端以后可以直接运行jupyter的状态, 如果你需要用anaconda先切换到某个环境下再用jupyter, 那么需要在前面加上另一条do script, 引号里是你需要先运行的命令, 比如要启动myenv这个环境, 平时可能需要输入的是source activate myenv
, 注意一条命令以后貌似需要delay一下, 后面的数字看情况.
do script "source activate myenv" deply 3 do script with command cmd
加入以后完整的是这样的:
on run {input} set the_path to POSIX path of input set cmd to "jupyter notebook " & quoted form of the_path tell application "System Events" to set terminalIsRunning to exists application process "Terminal" tell application "Terminal" activate if terminalIsRunning is true then do script "source activate myenv" deply 3 do script with command cmd else do script "source activate myenv" in window 1 deply 3 do script with command cmd in window 1 end if end tell end run
- 保存成一个.app文件. 就成了一个应用程序了. 放进应用程序文件夹, 例如叫jupyter_launcher.app
- 随便找个.ipynb文件, 右键->显示简介->打开方式->其他, 在应用程序里找到jupyter_launcher,
- 然后选择"全部更改"
全套完成, 以后就可以双击直接打开jupyter文件了. 会自动先打开一个终端, 然后用jupyter notebook运行, 文件在浏览器里可以显示和编辑并且运行.
- 参考: https://superuser.com/questions/139352/mac-os-x-how-to-open-vim-in-terminal-when-double-click-on-a-file