前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【env】Sublime配置Pytho

【env】Sublime配置Pytho

作者头像
py3study
发布2020-01-02 18:03:41
6590
发布2020-01-02 18:03:41
举报
文章被收录于专栏:python3python3
新建编译环境

在sublime菜单栏中Tools => Build System => New Build System...,输入一下内容并保存为 Python3.sublime-build

代码语言:javascript
复制
{
    "cmd": ["/usr/local/bin/python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {
        "LANG": "en_US.UTF-8" // 如果不指定编码,会出现print('中文')乱码
    }
    // 编码指定utf-8方法2:
    // "env" : {
    //     "PYTHONIOENCODING": "utf8"
    // }
}

其中 /usr/local/bin/python3 为python的具体路径,可通过 which python3 获得。

Anaconda插件
插件简介

实用的python插件,用多项类似IDE的功能:

  1. Autocompletion 代码自动完成
  2. Code Linting 代码语法、格式检查
  3. Goto Definitions 查找显示变量、函数、类的定义
  4. Find Usages 查找变量、函数、类的实用
  5. ......

插件功能详见 anaconda文档

安装

通过 Package Control 搜索 anaconda 安装

配置
代码语言:javascript
复制
{
    // Python主文件位置
    "python_interpreter": "/usr/local/bin/python3",

    // 语法格式检查 <= (仅在保存时检查,避免coding过程中一直出现警告框)
    "anaconda_linting": true,
    "anaconda_linting_behaviour": "save-only", // 保存时检查
    "anaconda_gutter_theme": "hard",
    "anaconda_linter_show_errors_on_save": false, // 保存时显示错误
    "anaconda_linter_phantoms": true, // 界面显示错误

    // pep8自动格式化
    "auto_formatting": true,
    "pep8_ignore": [
        "E501",
    ],

    // 文档显示设置
    "enable_docstrings_tooltip": true, // 显示文档
    "enable_signatures_tooltip": true, //在悬浮窗中显示方法签名
    "display_signatures": true, //显示方法签名
    "merge_signatures_and_doc": true
}
解决模块名无法正常补全
问题

ST3当检测到一些单词(如: class、def、import等)时取消了python包的自动补全。

解决方法

Preferences/Browser Packages 打开 Packages 目录,新建 Python 目录,新建 Completion Rules.tmPreferences 文件并输入以下内容,然后重启ST3。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>scope</key>
    <string>source.python</string>
    <key>settings</key>
    <dict>
        <key>cancelCompletion</key>
        <string>^(.*\b(and|or)$)|(\s*(pass|return|and|or|(class|def)\s*[a-zA-Z_0-9]+)$)</string>
    </dict>
</dict>
</plist>
Unicode编码问题
问题
代码语言:javascript
复制
UnicodeEncodeError: 'ascii' codec can't encode characters in position 294-302: ordinal not in range(128)
原因

sublime控制台ASCII 编码无法对 unicode 的中文进行编码,编译环境容需要指定编码。

解决方法

Python3.sublime-build 中指定编码:

代码语言:javascript
复制
{
    "env": {
        "LANG": "en_US.UTF-8" # 如果不指定编码,会出现print('中文')乱码
    }
}
# 或者
{
    "env" : {
        "PYTHONIOENCODING": "utf8"
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新建编译环境
  • Anaconda插件
    • 插件简介
      • 安装
        • 配置
          • 解决模块名无法正常补全
            • 问题
            • 解决方法
        • Unicode编码问题
          • 问题
            • 原因
              • 解决方法
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档