انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: b5759103 در 28 امرداد 1397، 11:23 ق‌ظ

عنوان: مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون حل شد
ارسال شده توسط: b5759103 در 28 امرداد 1397، 11:23 ق‌ظ
سلام به همه
تازگی مشکلی در مورد استفاده از کتابخانه tkinter در پایتون 2.7.6 و 3.4.3 در اوبونتو 14.04 x86_64 دارم. هر سورس کد و برنامه ای که از کتابخانه مذکور استفاده شده باشه هنگام اجرا با خطای زیر مواجه میشه:

$ idle

Traceback (most recent call last):
  File "/usr/bin/idle", line 5, in <module>
    main()
  File "/usr/lib/python2.7/idlelib/PyShell.py", line 1537, in main
    root = Tk(className="Idle")
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1767, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable tk.tcl in the following directories:
    /usr/share/tcltk/tcl8.6/tk8.6 /usr/share/tcltk/tk8.6 /usr/lib/tk8.6
    /usr/local/lib/tcltk/tk8.6 /usr/local/share/tcltk/tk8.6
    /usr/lib/tcltk/x86_64-linux-gnu/tk8.6 /usr/lib/tcltk/tk8.6 /usr/lib/tcltk/tcl8.6/tk8.6 /lib/tk8.6 /usr/library

/usr/share/tcltk/tk8.6/tk.tcl: couldn't read file "/usr/share/tcltk/tk8.6/ttk/clamTheme.tcl": no such file or directory
couldn't read file "/usr/share/tcltk/tk8.6/ttk/clamTheme.tcl": no such file or directory
    while executing
"source /usr/share/tcltk/tk8.6/ttk/clamTheme.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source [file join $library $script]]"
    (procedure "ttk::LoadThemes" line 18)
    invoked from within
"ttk::LoadThemes"
    (file "/usr/share/tcltk/tk8.6/ttk/ttk.tcl" line 144)
    invoked from within
"source /usr/share/tcltk/tk8.6/ttk/ttk.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel \#0 [list source $::ttk::library/ttk.tcl]"
    (file "/usr/share/tcltk/tk8.6/tk.tcl" line 692)
    invoked from within
"source /usr/share/tcltk/tk8.6/tk.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $file]"

This probably means that tk wasn't installed properly.


راه حل های پیشنهادی در سایت های مختلف داده بودن رو انجام دادم. از جمله کارایی که کردم تنظیم متغیرهای TCL_LIBRARY و  TCLLIBPATH ; کپی کردن یا ایجاد لینک برای tcl8.6 در مسیر /usr/local/lib ; نصب دوباره بسته های tk tk-dev tk8.6-dev  . ولی مشکل باقی ست. حالا کسی راه حل دیگه داره؟
عنوان: پاسخ : مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون
ارسال شده توسط: koosha در 28 امرداد 1397، 06:44 ب‌ظ
 سلام.
یه دور حذف و مجددا نصب بکنید، ببینید نتیجه چی میشه.
عنوان: پاسخ : مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون
ارسال شده توسط: b5759103 در 28 امرداد 1397، 07:31 ب‌ظ
سلام.
یه دور حذف و مجددا نصب بکنید، ببینید نتیجه چی میشه.

اگه منظورتون کتابخانه tkinter و وابستگی هاست , این کار رو پیش تر انجام دادم و نتیجه نداد.!
عنوان: پاسخ : مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون
ارسال شده توسط: علی رزم دیده در 30 امرداد 1397، 01:37 ق‌ظ
سلام

چیزی که من می بینم قسمت اصلی خطا به این خط برمی گرده :
/usr/share/tcltk/tk8.6/tk.tcl: couldn't read file "/usr/share/tcltk/tk8.6/ttk/clamTheme.tcl": no such file or directory
حالا من چک کردم که ببینم این فایل توسط چه پکیجی ساخته می شه :
apt-file search /usr/share/tcltk/tk8.6/tk.tcl
libtk8.6: /usr/share/tcltk/tk8.6/tk.tcl

همون طور که می بینین اسم پکیج libtk8.6 هستش و اگه نصب نیست باید نصبش کنین :
sudo apt install --reinstall libtk8.6
حالا تست کنین ببین مشکلتون حل شدش یا نه؟
عنوان: پاسخ : مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون حل شد
ارسال شده توسط: b5759103 در 30 امرداد 1397، 10:11 ق‌ظ
سلام

چیزی که من می بینم قسمت اصلی خطا به این خط برمی گرده :
/usr/share/tcltk/tk8.6/tk.tcl: couldn't read file "/usr/share/tcltk/tk8.6/ttk/clamTheme.tcl": no such file or directory
حالا من چک کردم که ببینم این فایل توسط چه پکیجی ساخته می شه :
apt-file search /usr/share/tcltk/tk8.6/tk.tcl
libtk8.6: /usr/share/tcltk/tk8.6/tk.tcl

همون طور که می بینین اسم پکیج libtk8.6 هستش و اگه نصب نیست باید نصبش کنین :
sudo apt install --reinstall libtk8.6
حالا تست کنین ببین مشکلتون حل شدش یا نه؟

سپاس از راه حلی که دادید.مشکل برطرف شد.

این طور که فهمیدم با نصب دوباره libtk8.6 , فایل clamTheme.tcl هم اضافه شد. هر چند با بررسی که پیش تر انجام داده بودم این بسته نصب شده بود اما فایل مذکور وجود نداشت.نتیجه می گیرم که کتابخانه tk درست نصب نشده بود.
عنوان: پاسخ : مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون
ارسال شده توسط: علی رزم دیده در 01 شهریور 1397، 03:09 ق‌ظ
سپاس از راه حلی که دادید.مشکل برطرف شد.
خواهش می کنم
لطفاً عبارت (حل شد) رو هم به عنوان اضافه کنین.


این طور که فهمیدم با نصب دوباره libtk8.6 , فایل clamTheme.tcl هم اضافه شد. هر چند با بررسی که پیش تر انجام داده بودم این بسته نصب شده بود اما فایل مذکور وجود نداشت.نتیجه می گیرم که کتابخانه tk درست نصب نشده بود.
بله کاملا درسته استفاده از --reinstall هم توی دستور ، دقیقا به خاطر همین بود که اگه فایلی پاک شده باشه دوباره ساخته بشه.