Sublime Text 输出不正确的架构

Sublime Text output incorrect architecture

1。摘要

我有 64 位Windows。但是如果我在我的 Sublime Text 插件中使用 platform.architecture()[0] or sublime.arch(),我会得到 32bit 值。


2。设置

我在 $packages/TestPlugin 文件夹中创建了一个文件 ExampleSashaPlugin.py。此文件的内容:

import platform
import sublime

get_bitness = platform.architecture()[0]
print(get_bitness)

get_bitness_2 = sublime.arch()
print(get_bitness_2)

3。重现步骤

我在没有插件和用户设置的 Sublime Text 版本中重现了这个问题。

我存ExampleSashaPlugin.py.


4。预期行为

如果我在 Python 解释器中得到 Windows 位数:

>>> import platform
>>> platform.architecture()[0]
'64bit'

5。实际行为

Sublime Text 控制台输出:

key evt: control+s
command: save
reloading plugin TestPlugin.ExampleSashaPlugin
32bit
x32

6.环境

操作系统和版本:
Windows 10 企业 LTSB 64 位 EN
Sublime 文本:
为 Windows 64 位

构建 3126 便携式

谢谢。

1。回答

作为Keith Hall say,我的 64 位机器上有 32 位的 Sublime Text。我需要使用 Sublime Text 64 位才能正确工作 platform.architecture()sublime.arch() 方法。

我不明白,为什么我有 32 位的 Sublime Text。我下载 Sublime Text Build 3126 x64.zip 文件 — 64 位便携版 from official site。也许,当我下载 64 位版本时,在 Sublime Text 站点发布的版本不正确。


2。迁移到 64 位版本

如果你因为某些原因在 64 位 PC 上也有 32 位 Sublime Text 版本,你可以使用这些操作来解决问题。

  1. 如果出现问题,请创建备份复制您的 Sublime Text。
  2. Download last 64-bit version 来自官方网站。
  3. 将这些文件从新的 64 位 Sublime Text 根目录复制到 Sublime Text 根目录,您将使用:

    • crash_reporter.exe,
    • msvcr100.dll,
    • plugin_host.exe,
    • python33.dll,
    • subl.exe,
    • sublime_text.exe,
    • update_installer.exe.

实际上是 2017 年 4 月。