sublimetext3 - 如何在 Sublime Text 插件中导入 Python 模块?

标签 sublimetext3 sublimetext sublime-text-plugin

我在制作 Sublime Text 3 插件时遇到问题。我刚刚在我的 Macintosh 上安装了带有 Python 2.7 的 wxPython。

在终端中,我的 Mac 可以找到 wxPython (import wx)。但是 Sublime Text 插件的源代码不能导入 wxPython。

您可以查看下面的屏幕截图。

ImportError: No module named 'wx'

我该如何解决这个问题?

最佳答案

插件是使用 Sublime 的内部 Python 解释器执行的,而不是您计算机上安装的任何 Python 版本。几乎所有的标准库都包括在内,但有一些包(包括 Tkinter 等)没有。据我所知,不可能使用 pip,例如,将第 3 方模块安装到 Sublime Text 中。

但是,如果您想包含一些第 3 方代码,只需将其放在您的插件目录中即可。例如,如果您将插件代码存储在 Packages/MyPlugin 中(其中 Packages 是通过选择 Preferences -> Browse Packages 打开的目录... ),并且你想包含第 3 方库 foobar,只需将 foobar 目录复制到 Packages/MyPlugin。然后,在您的插件代码中,使用以下模板,假设您正在尝试为 ST3 (Python 3.3) 和 ST2 (Python 2.6) 编写代码:

try: #ST3
    from .foobar import mymodule
except ImportError: #ST2
    from foobar import mymodule

显然,如果您只是计划支持 ST3(API 中的差异足以让两个版本的编程变得烦人),您将不需要 try/except 子句。此外,如果您打算通过包控制或其他方法分发您的插件,请确保您可以重新分发第 3 方代码,并且您的许可证与其许可证兼容。

关于sublimetext3 - 如何在 Sublime Text 插件中导入 Python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250870/

相关文章:

python - 使用 SublimeREPL 和 Python 3 进行 Sublime 构建

c - 在 Sublime Text 3 中构建 C 文件并使用 fork();

windows - 静默安装 Sublime

sublimetext2 - Sublime Text 2 : How to get scss and Less files to have color?

sass - Sublime Text 双击高亮修改

python - 运行 Sublime Text 3 插件时保存编辑

sublimetext3 - 在Sublime Text 3中自动导入依赖项类

sublimetext3 - 崇高的文本 3 : Removing build systems

vim - 在 Sublime Text 复古模式下的选项卡之间切换

sublimetext2 - Sublime Text 2 中的 SpecFlow/Gherkin 高亮