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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: مواجه با خطا هنگام استفاده از کتابخانه tkinter در پایتون حل شد  (دفعات بازدید: 2011 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین b5759103

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
سلام به همه
تازگی مشکلی در مورد استفاده از کتابخانه 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  . ولی مشکل باقی ست. حالا کسی راه حل دیگه داره؟
« آخرین ویرایش: 04 شهریور 1397، 08:28 ب‌ظ توسط b5759103 »

آفلاین koosha

  • Hero Member
  • *
  • ارسال: 734
  • جنسیت : پسر
 سلام.
یه دور حذف و مجددا نصب بکنید، ببینید نتیجه چی میشه.
GNU/Linux
Debian8
I3 WM

آفلاین b5759103

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
سلام.
یه دور حذف و مجددا نصب بکنید، ببینید نتیجه چی میشه.

اگه منظورتون کتابخانه tkinter و وابستگی هاست , این کار رو پیش تر انجام دادم و نتیجه نداد.!

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
سلام

چیزی که من می بینم قسمت اصلی خطا به این خط برمی گرده :
/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
حالا تست کنین ببین مشکلتون حل شدش یا نه؟

آفلاین b5759103

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
سلام

چیزی که من می بینم قسمت اصلی خطا به این خط برمی گرده :
/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 درست نصب نشده بود.
« آخرین ویرایش: 04 شهریور 1397، 08:29 ب‌ظ توسط b5759103 »

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1244
  • جنسیت : پسر
  • ali76 سابق
سپاس از راه حلی که دادید.مشکل برطرف شد.
خواهش می کنم
لطفاً عبارت (حل شد) رو هم به عنوان اضافه کنین.


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