有关于使用Atom进行Python开发的网上资料比较少,最近发现使用Atom结合Hydrogen插件进行Python开发,尤其是数据挖掘相关的工作,整体体验要好于Vscode,Vscode虽然说也有连接Jupyter的工具,但是交互式的开发Hydrogen体验更好。

这里放了个动图来展示一下Hydrogen的强大

插件安装

Python

  • Hydrogen
  • atom-ide-ui
  • ide-python

这里要注意,本地的pip需要 安装 python-language-server[all],在ide-python的readme中有详细说明

远程连接

  • Remote FTP

美化

  • simplified-chinese-menu(汉化补丁)

  • file-icons(文件夹图标)

  • bracket-colorizer(彩虹括号,找了好久,确定就是必须配合暗色主题)

  • atom-bracket-highlight(括号高亮)

  • atom-clock(加个时钟在右下角)

  • highlight-selected(高亮选择)

  • minimap(类似sublime的右侧map栏)

  • minimap-highlight-selected(选择代码后,map上也高亮,方便定位代码)

插件配置

Remote FTP

这里先讲一下我的需求,我是需要利用其连接公司服务器上的内容,但是公司服务器是需要跳板机的,所以我需要通过跳板机才能访问,因此配置上会有些复杂

{
"protocol": "sftp",
"host": "跳板机域名", // string - Hostname or IP address of the server. Default: 'localhost'
"port": 跳板机端口, // integer - Port number of the server. Default: 22
"user": "用户名", // string - Username for authentication. Default: (none)
"pass": "如果用密钥这里就不用填", // string - Password for password-based user authentication. Default: (none)
"promptForPass": false, // boolean - Set to true for enable password/passphrase dialog. This will prevent from using cleartext password/passphrase in this config. Default: false
"remote": "实际的服务器目录,例如:/服务器域名/用户名/目录", // try to use absolute paths starting with /
"agent": "", // string - Path to ssh-agent's UNIX socket for ssh-agent-based user authentication. Linux/Mac users can set "env" as a value to use env SSH_AUTH_SOCK variable. Windows users: set to 'pageant' for authenticating with Pageant or (actual) path to a cygwin "UNIX socket." Default: (none)
"privatekey": "本地私钥path", // string - Absolute path to the private key file (in OpenSSH format). Default: (none)
"passphrase": "", // string - For an encrypted private key, this is the passphrase used to decrypt it. Default: (none)
"hosthash": "", // string - 'md5' or 'sha1'. The host's key is hashed using this method and passed to the hostVerifier function. Default: (none)
"ignorehost": true,
"connTimeout": 10000, // integer - How long (in milliseconds) to wait for the SSH handshake to complete. Default: 10000
"keepalive": 10000, // integer - How often (in milliseconds) to send SSH-level keepalive packets to the server (in a similar way as OpenSSH's ServerAliveInterval config option). Set to 0 to disable. Default: 10000
"keyboardInteractive": 如果要用动态令牌,这里就要填true, // boolean - Set to true for enable verifyCode dialog. Keyboard interaction authentication mechanism. For example using Google Authentication (Multi factor)
"keyboardInteractiveForPass": false, // boolean - Set to true for enable keyboard interaction and use pass options for password. No open dialog.
"remoteCommand": "",
"remoteShell": "",
"watch":[],
"watchTimeout":500, // integer - The duration ( in milliseconds ) from when the file was last changed for the upload to begin.
}

ide-python

需要配置一下Python Executable

填写你的python路径,比如使用的是conda虚拟环境,就这样写

/xxx/anaconda3/envs/xxx/bin/python

Hydrogen

连接本地Kernel

首先需要在上面填写的路径下的python环境中安装ipykernel

python -m ipykernel install --user --name py37

然后用atom打开一个py文件,输入

# %%
print('hello atom') # %%
print('每一个# %%代表一个新的cell')

然后再第2行末尾按ctrl+enter就会自动弹出来让你选择环境的弹窗,选择刚刚新建的环境即可

然后在Hydrogen里面通过使用# %%来分割每一个cell,在Mac中使用option+shift+enter组合键来实现运行当前整个ceil,使用command+enter实现运行当前行,使用shift+enter实现运行当前行并跳转下一行,具体可参考官方文档

连接远程Kernel

连接远程的Jupyter只需要配置一下Hydrogen设置里面的Kernel Gateways,填上如下内容即可

[{"name": "Remote server",
"options": {
"baseUrl": "jupyter url",
"token": "jupyter token"
}
}]

然后点击Connect to Remote Kernel即可

更好地使用Atom支持基于Jupyter的Python开发的更多相关文章

  1. 配置基于Vim的Python开发环境

    配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...

  2. 基于Pycharm的Python开发环境配置

    基于Pycharm的Python开发环境配置 编辑于2020-11-18 Python安装 双击桌面的Python3.x安装包. 勾选Add to path. 方便起见,选择Install now.下 ...

  3. nginx unit 1.8 支持基于java servlet 的开发模型

    最近unit 1.8 发布了,有两个比较大的新特性,内部请求路由,以及java servlet 容器应用的开发 内部请求路由配置参考 { "routes": [ { "m ...

  4. 基于linux运用python开发知识点滴

    我是小白,希望我的文章能对小白们有点作用. A.Linux的开源,优势明显,如何使用,基本命令如下: 个人认为最基础的两种操作: 1.文件操作: ls 看文件夹下内容 ls -a 隐藏文件 -l非隐藏 ...

  5. Ubuntu下基于Virtualenv构建Python开发环境

    1.安装virtualenv并建立虚拟环境 1).更新pip版本 sudo pip install --upgrade pip 如果出现如下异常: File , in <module> f ...

  6. 如何基于Jupyter notebook搭建Spark集群开发环境

    摘要:本文介绍如何基于Jupyter notebook搭建Spark集群开发环境. 本文分享自华为云社区<基于Jupyter Notebook 搭建Spark集群开发环境>,作者:apr鹏 ...

  7. delphi不同版本字符串类型的演化(要支持基于firemonkey的app调用,字符串最好使用olevariant类型)

    string,DELPHI2009以前的版本string=ansistring,一个字符占一个字节,DELPHI2009及以上版本string=unicodestring,一个字符占二个字节. cha ...

  8. Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

    准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...

  9. [转]基于Starling移动项目开发准备工作

    最近自己趁业余时间做的flash小游戏已经开发得差不多了,准备再完善下ui及数值后,投放到国外flash游戏站.期间也萌生想法,想把游戏拓展到手机平台.这两天尝试了下,除去要接入ane接口的工作,小游 ...

随机推荐

  1. Flyway:Spring Boot中使用Flyway来管理数据库版本

    Flyway简介 Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate.clean.info.validate.baseline.repair等命令.它支持SQL(PL/ ...

  2. 笔记 BAT 面试题 及部分答案

    题目出自:https://www.jianshu.com/p/c70989bd5f29本文出自 AWeiLoveAndroid的博客 2018年2月20日星期二 随笔 笔记 BAT 面试题 一.jav ...

  3. buu crypto 幂数加密

    一.这和二进制幂数加密有些不同,可以从数字大小判断出来,超过4了,一般4以上已经可以表达出31以内了,所以是云影密码,以0为分隔符,01248组成的密码 二.python代码解密下 code=&quo ...

  4. B 站崩了,受害程序员聊聊

    非吃瓜,B 站事件始末分析 + 防治技术分享 大家好,我是鱼皮,昨天小破站崩了的事情相信很多朋友都听说了. 这要是搁以前,不爱吃瓜的我根本不会去关注这种事,崩了就崩了呗,反正天塌下来有程序员大佬们扛着 ...

  5. C语言:文本文件和二进制文件

    学习了 fopen() 函数后,我们知道它的第二个参数是一个字符串,用来表示文件打开方式.如果字符串中出现b,则表示以二进制方式打开文件:如果字符串中出现t,或者两者都不出现,则表示以文本方式打开文件 ...

  6. android体温登记APP开发过程+问题汇总+源码

    源码上传至https://github.com/durtime/myproject下的temperature 实际效果:   开发过程 1.首先进行布局文件的编写,布局前台页面 2.布置两个按钮,一个 ...

  7. session过期跳转到登陆页面并解决跳出iframe问题

    首先,先转载如下这篇博主写的关于后台系统使用iframe不能跳出的问题,地址:https://blog.csdn.net/xiaocen99/article/details/38521649 在ifr ...

  8. HTML5-CSS(一)

    一.创建 CSS 样式表有三种方式 1. 元素内嵌样式<p style="color:red;font-size:50px;">这是一段文本</p>解释:即 ...

  9. VUE 之_this.da 和 this

    作者:张艳涛 日期:2020-07-29 this用在第一层,如果在JS第3二层,要用 _this importfxx(obj) { let _this = this; let inputDOM = ...

  10. shiro反序列化550、721

    shiro550反序列化 获取docker镜像 docker pull medicean/vulapps:s_shiro_1 重启docker systemctl restart docker 启动d ...