Sublime文本插件开发

时间:2014-04-15 13:21:12

标签: python sublimetext2 sublimetext sublime-text-plugin

我开发了一个命令行python应用程序来保存一个语法高亮(pygments)作为文本笔记的源文件;这项工作很好。 现在我想将这个应用程序集成到一个sublime text 2插件中,但是我的应用程序需要一些python模块才能工作(比如evernote sdk,pygments库)。 项目的结构如下:

Package
   |
   ---My_Plugin
          |
          -----evernote/
          |
          -----pygments/
          |
          myplugin_main.py

我要包含以下模块:

import sys, os
sys.path.append(os.path.abspath(os.path.dirname(__file__))+"/evernote")
sys.path.append(os.path.abspath(os.path.dirname(__file__))+"/pygments")
from evernote.api.client import EvernoteClient
import evernote.edam.type.ttypes as Types
import evernote.edam.notestore.NoteStore as NoteStore
import evernote.edam.userstore.UserStore as UserStore

我在使用这个外部模块时遇到很多问题;我不明白为什么应用程序似乎没有看到模块。

从崇高的控制台,当我尝试保存时,我会收到这样的信息:

Reloading plugin /home/sergioska/.config/sublime-text-2/Packages/evernote-sublime-plugin/ever.py
Traceback (most recent call last):
File "./sublime_plugin.py", line 62, in reload_plugin
File "./ever.py", line 3, in <module>
    from evercode import EverCode
File "./evercode.py", line 7, in <module>
    from evernote.api.client import EvernoteClient
File "/home/sergioska/.config/sublime-text-2/Packages/evernote-sublime-plugin/evernote/evernote/api/client.py", line 5, in <module>
    import oauth2 as oauth
File "./oauth2/__init__.py", line 32, in <module>
    import httplib2
File "./httplib2/__init__.py", line 915, in <module>
    class HTTPSConnectionWithTimeout(httplib.HTTPSConnection):
AttributeError: 'module' object has no attribute 'HTTPSConnection'

当然我试着像上面说的那样添加oauth2和httplib2,但没有。 我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

至于你得到的错误,它可能是类似的问题吗? HTTPSConnection module missing in Python 2.6 on CentOS 5.2

对于sublime 2插件,这是我在github上找到的:https://github.com/jamiesun/SublimeEvernote

我将它分叉并使用Evernote SDK更新为非OAuth版本:https://github.com/rekotan/SublimeEvernote

上述内容可能会帮助您建立自己的。