zoukankan      html  css  js  c++  java
  • 更好地使用Atom支持基于Jupyter的Python开发

    有关于使用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即可

  • 相关阅读:
    移动端前端布局的必看前提
    单词统计
    用户场景分析
    学习进度(九)
    团队项目
    学习进度(二)
    数据可视化
    大二下,学习进度(一)
    求最大子数组的和
    构建之法3
  • 原文地址:https://www.cnblogs.com/harrylyx/p/15166101.html
Copyright © 2011-2022 走看看