2012-04-14 13 views
8

के साथ TkHtml (एक रुपये विजेट) सेट अप करना मुझे अनुरोधों (python-requests.org) के साथ पुनर्प्राप्त HTML पृष्ठों को प्रस्तुत करने का एक आसान तरीका चाहिए। मैं विंडोज़ पर पायथन 3.2 का उपयोग कर रहा हूं।पायथन

मैं टिंकर का उपयोग कर रहा था, और मुझे TkHtml नामक एक टेक्स्ट विजेट मिला। यह http://tkhtml.tcl.tk/ पर वर्णित है और एक डीएलएल http://www.hwaci.com/sw/tkhtml/ से डाउनलोड करने योग्य है। मुझे http://tix.sourceforge.net/Tixapps/src/Python/TkHtml.py पर एक अजगर रैपर मिला।

मुझे नहीं पता कि पायथन में TkHtml कैसे काम करना है। क्या तीसरे पक्ष के टेस्ट विजेट को संभालने का कोई मानक तरीका है?

मैंने Python32 \ DLLs में tkhtml.dll डाल दिया है (कोई विचार नहीं है कि यह सही है) और Python32 \ Lib \ site-packages में TkHtml.py डाल दें। मैं आगे बढ़ गया और Python 3 के साथ काम करने के लिए TkHtml.py में आयात को ठीक किया (tkinter.filedialog और tkinter to tkinter में tkFileDialog बदल दिया)।

जब मैं कार्य करें:

... 
File "C:\Program Files\Python32\lib\site-packages\TkHtml.py", line 45, in __init__ 
master.tk.call("package", "require", "tkhtml") 
_tkinter.TclError: can't find package tkhtml 

कोई भी विचार:

import TkHtml 
app=TkHtml.TestApp() 

मैं त्रुटि मिलती है?

उत्तर

4

अपनी पायथन टीसीएल निर्देशिका उदाहरण खोजें। सी: \ Python32 \ tcl। यह वह जगह है जहां टीसीएल/टीके एक्सटेंशन जाते हैं।

वहां एक नया फ़ोल्डर बनाएं जिसे Tkhtml कहा जाता है।

package ifneeded Tkhtml 0.0 [list load [file join $dir tkhtml.dll]] 

आप कर सकते हैं:

इस फ़ोल्डर (1) अपने .dll फ़ाइल डाल में, (2) pkgIndex.tcl

नामक एक पाठ फ़ाइल

pkgIndex.tcl इस तरह की एक पंक्ति है यह पायथन प्रॉम्प्ट पर,

>>> import Tkinter #tkinter 
>>> root = Tkinter.Tk() 
>>> root.tk.eval('package require Tkhtml') 
'0.0' 

... तो पैकेज उपलब्ध है। स्ट्रिंग '0.0' संस्करण संख्या का प्रतिनिधित्व करता है।

2

मैं विंडोज 8 (64-बिट) पर पायथन 3.3 का उपयोग कर रहा हूं और ओपी के समान पैकेज लोड त्रुटि प्राप्त कर रहा हूं।

मैं भी इन निम्न फ़ोल्डरों को डाउनलोड किया था और बचाया TkHtml.dll और .py फ़ाइलें:

tkhtml.dll -> D:\Python3.3\tcl\Tkhtml 
pkgIndex.tcl -> D:\Python3.3\tcl\Tkhtml 

और इस लाइन की नकल की:

tkhtml.dll -> D:\Python3.3\DLL 
TkHtml.py -> D:\Python3.3\Lib\site-packages 

noob Oddy के सुझाव के आधार पर, मैं निम्नलिखित किया: package ifneeded Tkhtml 0.0 [list load [file join $dir tkhtml.dll]]pkgIndex.tcl फ़ाइल में।

आखिरकार मेरे लिए यह चाल Python3.3 फ़ोल्डर से Python2 फ़ोल्डर में सब कुछ ले जा रही थी। एचटीएमएल रेंडरर खूबसूरती से काम किया। ऐसा लगता है कि TkHtml पायथन 3.

4

के साथ संगत मैं Tkhtml3 के लिए एक पिप-स्थापना योग्य अजगर आवरण नहीं बनाया जा रहा है: https://bitbucket.org/aivarannamaa/tkinterhtml

यह विंडोज, मैक और लिनक्स TkHtml3 बाइनरी साथ आता है।

+0

थोड़ा और दस्तावेज मदद करेगा। – Louis