【问题标题】:Configure Sublime Text 3 Anaconda Package with different Python version使用不同的 Python 版本配置 Sublime Text 3 Anaconda 包
【发布时间】:2015-10-28 20:02:42
【问题描述】:

我在 Mac OS X El Capitan 10.11.1 上使用 Sublime Text 3 (ST3) 和 Anaconda 包,使您能够在 ST3 中运行 Python。

运行“build”命令时运行的 Python 版本是 2.7.10。

我想改用 Python 3.5.0。

问题:如何将 Anaconda 配置为使用 Python 3.5 而不是 2.7,并确保这是 ST3 的全局设置?

sys.version 的当前输出为:

2.7.10 (default, Aug 22 2015, 20:33:39) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)]

【问题讨论】:

    标签: python macos sublimetext3


    【解决方案1】:

    我这样做的方法是使用 ST3 的内置项目设置。

    • 如果您还没有这样做,请转到菜单中的Project >> Save Project As... 以将当前工作区保存为项目。
    • 然后使用Project >> Edit Project 打开项目的设置。添加如下内容:

      {
          "build_systems":
          [
              {
                  "cmd":
                  [
                      "/path/to/bin/python",
                      "$file"
                  ],
                  "name": "build system name"
              }
          ]
      }
      

    /path/to/bin/python 替换为您要使用的 Python 可执行文件的路径。

    build system name 替换为您要调用此构建系统的名称(例如 Python 3.5.0)。

    这种方法的一个好处是您可以添加多个构建系统并使用super+shift+p 选择不同的构建系统,开始输入“Build With”,然后从构建系统列表中进行选择。

    更新:

    您可以通过转到Tools >> Build System >> New Build System... 或使用super+shift+p 并输入“Build: New Build System”来创建一个新的全局构建系统。替换它提供的模板:

    {
        "cmd":
        [
            "/path/to/bin/python",
            "$file"
        ],
    }
    

    请务必按照上述方式替换路径。保存时,它应该提示将其保存在您的用户设置目录中。将其命名为 Python-3.5.sublime-build 或适当的名称。您需要通过在构建时选择它或转到Tools >> Build System >> Python-3.5 来指定使用该构建。

    为了避免选择构建系统,您的另一个选择是打开 ST3 版本的 Python 构建系统。在我的 OS X 机器上,我通过访问 /Applications/Sublime Text.app/Contents/MacOS/Packages 来完成此操作。在里面,您将看到一个名为Python.sublime-package 的文件。这是一个压缩文件。您可以添加.zip 后缀并解压缩以访问其Python.sublime.build。该文件(对我而言)如下所示:

    {
        "shell_cmd": "python -u \"$file\"",
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python",
    
        "variants":
        [
            {
                "name": "Syntax Check",
                "shell_cmd": "python -m py_compile \"${file}\"",
            }
        ]
    }
    

    您可以将 Python 的路径添加到 shell_cmd 的两个实例之前,或者在 shell_cmd 的同一级别添加几个 "path": "/path/to/python/directory/", 实例。

    然后您需要重新压缩(并删除 .zip 扩展名)。

    【讨论】:

    • 谢谢,这很有帮助。有没有办法在全局范围内设置它,或者只是在项目设置中?
    • @TrevorSullivan - 我为全局构建系统添加了另外两个选项。免责声明:我没有测试我描述的最终选项。
    【解决方案2】:

    您可以在Preferences > Package Settings > Anaconda > Settings-User 上配置您的anaconda 用户设置,方法是将您想要的python 版本添加为"python_interpreter": "python3",(或任何python)。

    E.G.

    {
        "auto_formatting": true,
        "autoformat_ignore":
        [
            "E309",
            "E501"
        ],
        "pep8_ignore":
        [
            "E221",
            "E266",
            "E309",
            "E501",
            "E722",
            "W503"
        ],
        "anaconda_linter_phantoms": false,
        "anaconda_linter_underlines": false,
        "anaconda_linter_mark_style": "none",
        "display_signatures": false,
        "disable_anaconda_completion": false,
        "auto_complete_triggers":
        [{"selector": "source.python - string - comment - constant.numeric",
                      "characters": "."
                    }
        ],
        "python_interpreter": "python3",
    }
    

    【讨论】:

      【解决方案3】:

      您可以通过在 ST3 配置文件夹的子文件夹 Packages 中创建一个具有包名称的文件夹并在那里创建具有相同名称的配置文件来覆盖 Sublime Text 3 包设置。

      用户配置文件夹:

      • Linux:~/.config/sublime-text-3/Packages/
      • macOS:~/Library/Application Support/Sublime Text 3/Packages/
      • 窗口:%APPDATA%/Roaming/Sublime Text 3/Packages/

      在这种情况下,创建一个名为 Python 的子文件夹,然后将安装的 Python.sublime-package 文件从 ST3 安装解压缩到此文件夹以更改 sublime-build 文件,或者仅在此文件夹中创建名为 Python.sublime-build 的以下文件:

      {
          "shell_cmd": "python3 -u \"$file\"",
          "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
          "selector": "source.python",
      
          "variants":
          [
              {
                  "name": "Syntax Check",
                  "shell_cmd": "python3 -m py_compile \"${file}\"",
              }
          ]
      }
      

      通过这种方式,您无需更改任何安装文件,否则可能会被 ST3 更新覆盖。它仍然是默认的 Python 构建目标。

      【讨论】:

        猜你喜欢
        • 2016-01-04
        • 1970-01-01
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-14
        • 1970-01-01
        相关资源
        最近更新 更多