Bug 29206 - Отсутствует зависимость на пакет tk
Summary: Отсутствует зависимость на пакет tk
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-modules-tkinter (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Grigory Ustinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-20 18:00 MSK by Denis Kirienko
Modified: 2016-05-05 14:58 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Kirienko 2013-07-20 18:00:32 MSK
После установки пакета python3-tools не удается запустить idle3


$ idle3
Traceback (most recent call last):
  File "/usr/bin/idle3", line 5, in <module>
    main()
  File "/usr/lib64/python3.3/idlelib/PyShell.py", line 1483, in main
    root = Tk(className="Idle")
  File "/usr/lib64/python3.3/tkinter/__init__.py", line 1789, 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/tcl/tcl8.5/tk8.5 /usr/share/tcl/tk8.5 /usr/lib/tk8.5 /lib/tk8.5 /usr/library



This probably means that tk wasn't installed properly.


Для решения проблемы необходимо установить пакет tk.

Необходимо добавить зависимость на tk в пакет python3-modules-tkinter
Comment 1 nbr 2016-05-05 13:09:05 MSK
Sisyphus.
apt-get install python-modules-tkinter
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  tk
The following NEW packages will be installed:
  python-modules-tkinter tk
Comment 2 Denis Kirienko 2016-05-05 13:26:38 MSK
Вы перепутали модули python-modules-tkinter и python3-modules-tkinter.

У python-modules-tkinter зависимость на tk есть, а у python3-modules-tkinter - нет.

$ rpm -qR python-modules-tkinter
python-modules = 2.7.11-alt3
tk  
alternatives >= 0:0.4
libtcl8.5.so >= set:ngdZ1sKc9lqWKRm5ZaZmED7oZzgCFYzFzOqJK9I3BIZrnJrZKUR96X1cnW9Idjs76p13tswAgrKht510Fybufcrv9Wc41vHZqK9XyWfokkZDgwcjVGVHIBf9390q22ZkehQQrnYWvxSWKn1QWUTeU0o8uNuvgotMpicMqUoBZi61AvZ78QZFI20YQefhZiw8Gf
libtk8.5.so >= set:mkyItQVFm0c1
rpmlib(PayloadIsLzma)  

$ rpm -qR python3-modules-tkinter
libtcl8.5.so >= set:ngdZ1sKc9lqWKRm5ZaZmED7oZzgCFYzFzOqJK9I3BIZrnJrZKUR96X1cnW9Idjs76p13tswAgrKht510Fybufcrv9Wc41vHZqK9XWK8ZFdzyWZw2ApandvBJY9p81gjgMDsyEFTKURJ0Fn1QWUTeU0o8uNuvgotMpicMqUoBZi6141sZvAl0wDSV9On0hkv
libtk8.5.so >= set:mkyItQVFm0c1
python3(_tkinter) < 0
python3-test = 3.5.1-alt5
rpmlib(PayloadIsLzma)  


Поэтому переоткрываю баг.
Comment 3 Ivan Zakharyaschev 2016-05-05 13:36:57 MSK
Не-не, всё справедливо для python3. Проверил: ни tk, ни tcl 

(apt-repo test пришлось указать какой-то номер задания, хотя моей целью было просто проверить простой командой установку в минимальной среде, как при install check)

$ apt-repo --hsh-apt-config=.hasher/sisyphus/apt.conf test '' python3-tools
Info: Will use hasher when appropriate (with --apt-config=.hasher/sisyphus/apt.conf). at /usr/bin/apt-repo line 30.
Info: Will try to read a non-system APT_CONFIG=.hasher/sisyphus/apt.conf at /usr/bin/apt-repo line 51.
Missing or wrong task number at /usr/bin/apt-repo line 193.
[imz@basalt ~]$ apt-repo --hsh-apt-config=.hasher/sisyphus/apt.conf test 164290 python3-tools
Info: Will use hasher when appropriate (with --apt-config=.hasher/sisyphus/apt.conf). at /usr/bin/apt-repo line 30.
Info: Will try to read a non-system APT_CONFIG=.hasher/sisyphus/apt.conf at /usr/bin/apt-repo line 51.

....

$ hsh-shell --mount=/proc,/dev/pts
[builder@localhost .in]$ rpm -qa | fgrep tk
libtk-8.5.9-alt3
python3-modules-tkinter-3.5.1-alt6
[builder@localhost .in]$ idle3
Traceback (most recent call last):
  File "/usr/bin/idle3", line 5, in <module>
    main()
  File "/usr/lib64/python3.5/idlelib/PyShell.py", line 1532, in main
    root = Tk(className="Idle")
  File "/usr/lib64/python3.5/tkinter/__init__.py", line 1867, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    /usr/share/tcl/tcl8.5 /usr/lib/tcl8.5 /lib/tcl8.5 /usr/library /library /tcl8.5.9/library /tcl8.5.9/library



This probably means that Tcl wasn't installed properly.

[builder@localhost .in]$ rpm -qf /usr/bin/idle3 /usr/lib64/python3.5/idlelib/PyShell.py /usr/lib64/python3.5/tkinter/__init__.py
python3-tools-3.5.1-alt6
python3-modules-tkinter-3.5.1-alt6
python3-modules-tkinter-3.5.1-alt6
[builder@localhost .in]$
Comment 4 Repository Robot 2016-05-05 14:58:56 MSK
python3-3.5.1-alt7 -> sisyphus:

* Thu May 05 2016 Ivan Zakharyaschev <imz@altlinux> 3.5.1-alt7
- python3-modules-tkinter: Requires: tk (ALT#29206)