मैं एक उत्कृष्ट पाठ 2 प्लगइन लिख रहा हूं जो मॉड्यूल SEAPI.py का उपयोग करता है जो स्वयं requests module आयात करता है।सब्लिमे टेक्स्ट 2 प्लगइन्स में तीसरे पक्ष के पायथन पैकेज को कैसे शामिल करें
चूंकि उत्कृष्ट टेक्स्ट 2 अपने स्वयं के एम्बेडेड पायथन दुभाषिया का उपयोग करता है, इसलिए यह मेरे यूबंटू मशीन में स्थापित अनुरोध मॉड्यूल नहीं देखता है (मुझे निम्न त्रुटि मिलती है: आयात त्रुटि: अनुरोध मॉड्यूल अनुरोध नहीं)।
सबसे अच्छा समाधान मैं अब तक खोज सकता था 'अनुरोध' मॉड्यूल (फाइलों की पूरी निर्देशिका) /usr/lib/python2.7/dist-packages/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
...
संपादित करें: चयनित जवाब सही है और मेरे मुख्य प्रश्न को ठीक करता है, लेकिन एम्बेडेड सब्लिम टेक्क्स के साथ 'अनुरोध' के वर्तमान संस्करण का उपयोग करने के साथ एक अलग समस्या मौजूद है टी 2 दुभाषिया। एसटी 2 के पायथन में विभिन्न मॉड्यूल गायब हैं जो नियमित 2.7 पायथन (जैसे 'फाइलियो') में मौजूद हैं।
मैं यहाँ से 'अनुरोध' मॉड्यूल का उपयोग कर के साथ इसका समाधान कर लिया: 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/"))। ऐसा लगता है कि 'अनुरोध' मॉड्यूल और 'urllib3' मॉड्यूल दोनों को पाइप के साथ स्थापित किया गया था। लेकिन अब इसमें निम्न त्रुटि है - फ़ाइल "/usr/lib/python2.7/dist-packages/urllib3/filepost.py", पंक्ति 15, आईओ आयात बाइट्सियो फ़ाइल "। \ Ioio", लाइन 63, आयात त्रुटि: _fileio –
नामक कोई मॉड्यूल मैंने इस समस्या के समाधान के साथ अपना प्रश्न संपादित नहीं किया है। धन्यवाद फिर Mikko! –
सब्लिमे टेक्स्ट प्लगइन बनाने के लिए इस उत्तर में जानकारी ** अविश्वसनीय रूप से महत्वपूर्ण ** है। यह वास्तव में आधिकारिक दस्तावेज़ों में होना चाहिए ... – zakdances