ImportError : '_tkinter'라는 이름이 없습니다. python3-tk 패키지를 설치하십시오


28

나는 일반적으로 우분투와 리눅스를 처음 사용합니다.

랩톱 (Windows 10 및 Ubuntu)에서 이중 부팅 OS를 만들었습니다.

  • 입력 : sudo apt-get install python3-tk(또는조차 python-tk) 작동하지 않았습니다.
  • python3-dev또는 python-devel(불운) 을 설치하려고합니다 .
  • 수동으로 설치하려면 Tcl 및 Tk를 다운로드하십시오.

Windows 10 Bash Subsystem에는 Tk와 Tcl이 이미 포함되어 있으므로 우분투에 이미 있다고 생각합니다. 그러나 Ubuntu 데스크탑을 사용하여 Python GUI 앱을 개발하고 싶습니다.

그렇다면 GUI 개발을 위해 Python 3.5에서 사용할 Tcl / Tk를 어떻게 설치할 수 있습니까?

Python 3.5.2를로드했지만 GUI 모듈을 활성화해야합니다.

Tk가 작동하는지 테스트하는 코드는 다음과 같습니다.

  1. 유형 python3
  2. 유형:

    import tkinter   
    tkinter._test()
  3. 결과 : GUI 팝업 표시 This is a Tcl/Tk version..


3
"Python 3.5.2를로드했습니다" -정확히? 수동으로 설치 한 python을 실행하는 경우 apt-get을 사용하여 시스템 python 패키지를 설치하면 도움이되지 않습니다
steeldriver

1
귀하의 질문에 대한 귀하의 답변은 소스에서 Tcl / Tk를 컴파일하는 것임을 알았지 만 Apt 패키지 관리자를 사용하지 않고 Python을 수동으로 설치하지 않는 한 이것이 필요하다고 생각하지 않습니다. 파이썬을 수동으로 설치했는지 확인할 수 있습니까? python3-tk제공 한 Python 코드를 설치 한 후 실행하면 내 시스템 Python 3에서 작동합니다.
edwinksl

답변:


30

6
참고-python3.5가 내 기본값 인 python3.6의 경우 ... install python3.6-tk ...를 사용해야했습니다.
SteveJ

+1. 이 답변을 읽는 사람들에게는 tkinter에 PyPI 패키지가없는 것처럼 보이 므로이 답변에서 제안 된 Ubuntu 패키지 관리자를 사용하는 것이 차선책입니다.
dpritch

1
@dpritch Universe 저장소에는 [pypibrowser] ( packages.ubuntu.com/) 라는 패키지 가 있습니다. 여러분이 찾고 있다고 생각하는 기능을 제공합니다. 건배!
Geek

python3-tkinterdnf적어도 페도라에서는
Pysis

@Pysis 불편을 드려 죄송합니다. 이 전체 사이트와 같은 답변은 우분투에 관한 것입니다. 투어 에서 도움을받을 수 있습니다 . 첫 번째 문장은 그렇지 않다면 더 명확하게 여기에 있습니다. 건배!
eek

26

"시스템"python (Ubuntu)으로 Python 3.5를 사용하는 python 3.6 가상 환경의 경우, tk 3.6을 설치해야합니다.

sudo apt-get install python3.6-tk

우분투의 기본 파이썬은 3.5이므로 venv를 3.6으로 사용하면 가져 오기 오류가 발생합니다. 잠시 나를 미치게 했어

[편집 :이 질문이 오래됨에 따라]

일반적으로 기본 시스템과 다른 버전의 Python으로 가상 환경을 사용하는 경우 가상 환경에서 사용되는 Python 버전에 대해 tk를 설치해야합니다.

sudo apt install python3.x-tk

여기서 3.x는 가상 환경의 버전과 일치합니다.

[편집하다]

tk에 대한 저장소를 추가해야 할 수도 있습니다. 내 경험상, 그것은 python3.6을 가져온 것과 동일한 저장소 였지만 시간이 지남에 따라 바뀔 수 있습니다.

sudo add-apt-repository ppa:deadsnakes/ppa

1
흥미 롭군 지금까지 저장소python3.6-tk가 존재하지 않는 한 PPA를 설치 한 PPA를 설명 할 수 있습니다 .
Geek

1
더 최신으로 만들기 위해 추가로 편집했습니다.
Geek

3
마침내! 이것은 내가 sudo apt-get install python3-tk하지 않은 때 나를 위해 일한 것입니다 . 감사합니다
Peter

2
파이썬 3.7의 경우 나는 sudo apt-get install python3.7-tk그것을 작동시키기 위해 사용해야 했다
ilias

그거였다. 12 페이지의 Stackoverflow에서 나를 위해 일한 유일한 솔루션입니다.
Avio

0

소스에서 설치할 때 흥미로울 수 있습니다 (대부분의 파이썬 사용자는 그렇지 않습니다).

설치 한 후 TCL과 TK를 .

파이썬 버전으로 돌아가서을 수행하십시오 make. 그리고 여러 버전이 python존재하는 경우을 수행하십시오 make altinstall.

  1. 오픈 파이썬 3.5
  2. 유형:

    import tkinter
    tkinter._test()
  3. 결과 확인-팝업 GUI가 열리고 예상대로 작동합니다.


2
-1 대부분이 소스가 아닌 패키지 관리자를 통해 설치되므로 대부분의 사람들과 관련이 없습니다.
RockJake28

그렇지 혼동 여전히 누군가 도움이 될 수 있도록, 소개를 추가
MIT

0

내 경우 에는 다음과 같은 작업에도 불구하고 python3.5에 대해 "ImportError : No module named '_tkinter'라는 모듈 이름" 과 동일한 오류가 발생했습니다 . -python3-tk 및 tkinter-dev 설치-/에서 사용할 수있는 Tkinter 디렉토리 usr / lib / python3.5.

관찰 된 오류는 다음 파일에서 발생한 것입니다.

import _tkinter #의 35 행, "/usr/local/lib/python3.5/tkinter/ init .py" 파일 # 실패하면 파이썬이 Tk 용으로 구성되지 않을 수 있습니다

그러나 터미널에서 /usr/bin/python3.5 와 같이 / usr / bin에서 파이썬을 실행했을 때 저에게 효과적 이었습니다!

간단히 말해서, 터미널에서 실행중인 파이썬 버전에 tkinter가 설치되고 구성되어 있는지 확인하십시오 :)

기본 python2.7 및 python3.5와 함께 제공되는 Ubuntu16.04를 시스템에 설치했습니다.


0

라이브러리 자체를 개발하지 않고 사용하려는 경우 라이브러리 파일 만 설치하면 작동하지 않을 수 있습니다.

이것은 나를 위해 일했다 :

$ sudo apt install tk8.6-dev

이것은 질문에 대답 할 수 있지만 아마도 위의 명령이 무엇을하고 왜 문제를 해결할 수 있는지 설명하기 위해 질문을 확장 할 수 있습니까?
여호수아 Besneatte

ismailarilik 무엇 @JoshuaBesneatte은 오직 요청자에게 명령을 제공하지 않지만, 그 / 그녀가 그것을 적용해야하는 이유 명령이 무엇을 설명하고 : 인 말하려고한다. 품질이 떨어지기 때문에 답변이 삭제 될 수 있습니다 ... :-(
Fabby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.