2012-02-04 7 views
11

मैं किसी Mac 10.6.8 के लिए निम्न आदेश को चलाने के लिए कोशिश कर रहा हूँ:अजगर ImageTk.PhotoImage - segfault

Python 2.7.2 |EPD 7.1-2 (64-bit)| (default, Jul 27 2011, 14:50:45) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 

import Image 
import ImageTk 
from Tkinter import Tk 

window = Tk() 
i = Image.open("file.jpg") 
photo = ImageTk.PhotoImage(i) 
Segmentation fault 

मैंने देखा है दूसरों को इस स्थिति में एक बस त्रुटि पड़ा है । क्या किसी को यहां एक बग या इसके चारों ओर एक रास्ता पता है? मैं समझ नहीं पाया कि http://infohost.nmt.edu/tcc/help/pubs/pil/image-tk.html प्रासंगिक था या नहीं। धन्यवाद!

मैं कहना है एक ही बात होता है माफी चाहता हूँ भी EPD अपग्रेड करने के बाद:

Python 2.7.2 |EPD 7.2-2 (64-bit)| (default, Sep 7 2011, 16:31:15) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
+0

जब विभाजन गलती occures करता तहत तय? छवि के संदर्भ को सहेजने का प्रयास करें, उदा। 'window.image = photo' – reclosedev

+0

यह अब तक नहीं मिलता है - segfault तुरंत फोटो = ImageTk.PhotoImage (i) के बाद है, इसलिए मैं window.image = photo का प्रयास नहीं कर सकता। – jtlz2

+0

window.image = ImageTk.PhotoImage (i) भी segfault का कारण बनता है। – jtlz2

उत्तर

1

आप 32 बिट मोड में मैक अजगर चलाने का भी प्रयास किया है? फैट बाइनरी पर

देखो:

cd /usr/bin/ 
file python 

मैं:

python: Mach-O universal binary with 2 architectures 
python (for architecture x86_64): Mach-O 64-bit executable x86_64 
python (for architecture i386): Mach-O executable i386 

32 बिट मोड की कोशिश करने के लिए आप क्या करेंगे:

arch -i386 /usr/bin/python 

अगर वह काम करता है, तो यह होगा कम से कम एक कामकाज हो।

+0

इसके लिए धन्यवाद - मुझे विभिन्न पुस्तकालयों को स्थापित करने की आवश्यकता है .. – jtlz2

+0

दुर्भाग्य से, इसे 32 बिट के तहत चलाने के लिए निर्भरता के टन को स्थापित करने की आवश्यकता होगी। मैंने कुछ इंस्टॉल करना शुरू कर दिया, लेकिन छोड़ दिया क्योंकि यह मेरे सिस्टम पर तेजी से विस्फोट हुआ। – carl

+0

धन्यवाद कार्ल - बिल्कुल। मैंने ईडीपी उपयोगकर्ता सूची ईमेल की है और मैं उनसे वापस सुनने का इंतजार कर रहा हूं। शर्मिंदा कोई भी बक्षीस के लिए चला गया है (जिसके लिए बहुत धन्यवाद!)। – jtlz2

2

आप एप्पल के Tcl/Tk का उपयोग नहीं कर रहे हैं, तो देखने के लिए यह /System/Library में अपनी साझा पुस्तकालयों के लिए लग रही है कि क्या _imagingtk.so पर otool -L चलाने की कोशिश करें। इसे /Library में देखना चाहिए, /System/Library नहीं। यदि ऐसा है, तो आप install_name_tool के साथ लाइब्रेरी खोज पथ बदल सकते हैं।

+0

मुझे कैसे पता चलेगा कि मैं ऐप्पल के टीसीएल/टीके का उपयोग कर रहा हूं? यदि मैं मानक एनाकोंडा इंस्टॉल का उपयोग कर रहा हूं, तो क्या यह पता लगाने के लिए पर्याप्त है कि क्या मैं ऐप्पल के टीसीएल/टीके का उपयोग कर रहा हूं? – kuzzooroo

1

अब

Enthought Canopy Python 2.7.6 | 64-bit | (default, Apr 11 2014, 11:55:30) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information.