我正在編寫一個使用模塊SEAPI.py的sublime text 2插件,該模塊本身導入了requests module。如何將第三方Python程序包包含在Sublime Text 2插件中
由於崇高文本2使用它自己的嵌入式Python解釋器,它看不到我的Ubuntu機器中安裝的請求模塊(我得到以下錯誤:ImportError:No module named requests)。
目前爲止我發現的最佳解決方案是將複製來自/usr/lib/python2.7/dist-packages/requests的'requests'模塊(文件的整個目錄)到崇高文本包中的我的插件目錄中DIR。 但之後,它說它找不到'urllib3'模塊。
有沒有更好的方式來導入請求模塊,以便我不必將所有文件複製到我的插件目錄中?
我使用的是當前的代碼如下:
MyPlugin.py
import sublime
import sublime_plugin
import SEAPI
...
SEAPI.py
import requests
try:
import simplejson as json
except:
import json
from time import time, sleep
...
編輯: 選擇的答案是正確的,修復了我的主要問題,但是使用當前版本的'Requests'和嵌入的sublime tex存在一個不同的問題t 2口譯員。 ST2的python缺少常規2.7 python中存在的各種模塊(如'fileio')。
我用從這裏開始 '要求' 模塊解決了這個問題: https://github.com/bgreenlee/sublime-github
我不得不編輯 'urllib3/response.py' 文件到這一點:
try:
from cStringIO import StringIO as BytesIO
except ImportError:
pass # _fileio doesn't seem to exist in ST's python in Linux, but we don't need it
感謝您的快速回復。我已經試過 - sys.path.append(os.path.join(os.path.dirname(__ file__),「/usr/lib/python2.7/dist-packages/」))。它似乎看到用pip安裝的'requests'模塊和'urllib3'模塊。但現在它有以下錯誤 - 文件「/usr/lib/python2.7/dist-packages/urllib3/filepost.py」,第15行,在 從io import BytesIO 文件「。\ io.py」,第63行,在 ImportError:沒有名爲_fileio的模塊 –
2013-03-03 08:39:22
我編輯了我的問題,併爲此問題提供瞭解決方案。再次感謝Mikko! – 2013-03-03 10:27:14
這個答案中的信息**非常重要**創建Sublime Text插件。這真的應該在官方的文檔... – zakdances 2013-08-24 00:05:19