не удалось импортировать PySimpleGUI

Я пытаюсь изучить PySimpleGUI. Перейдя по этой ссылке PySimpleGUI

Но когда я сделаю,

import PySimpleGUI

получение ошибки как,

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/PySimpleGUI/__init__.py", line 2, in <module>
    from .PySimpleGUI import *
  File "/usr/local/lib/python3.7/site-packages/PySimpleGUI/PySimpleGUI.py", line 4, in <module>
    import tkinter as tk
  File "/usr/local/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

Я старался,

sudo apt-get install python3-tk 
and
sudo apt-get install python3.7-tk 

но не смог избавиться от вышеупомянутой ошибки.

Мои текущие системные данные:

OS - Ubuntu 19.04
python - Python 3.7.3
PySimpleGUI - 3.29.0
tcl - 8.6.9

Как решить эту проблему?


person 2017kamb    schedule 23.05.2019    source источник
comment
Чтобы было ясно, это полностью проблема конфигурации tkinter/system. На самом деле не имеет ничего общего с самим PySimpleGUI. Если бы вы хотели кодировать с помощью tkinter, это была бы проблема, которая возникла бы немедленно. Произойдет та же ошибка: ModuleNotFoundError: Нет модуля с именем «_tkinter»   -  person Mike from PSG    schedule 20.01.2021


Ответы (2)


Теперь я могу решить проблему, для этого я использовал pyenv и установил python через pyenv.

Я использовал следующие шаги:

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
sudo apt update && sudo apt upgrade
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev git

Добавить в ~/.bashrc

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Перезагрузить bashrc

source ~/.bashrc

Установить последнюю версию питона

pyenv install 3.7.0

список версий питона

pyenv versions

установить глобальную версию

pyenv global 3.7.0

проверить версию питона

python -V

установить PySimpleGUI

pip3 install PySimpleGUI

Вот и все, теперь я могу импортировать PySimpleGUI.

import PySimpleGUI
person 2017kamb    schedule 24.05.2019
comment
Виртуальные среды часто вызывают эти ошибки типа отсутствующего пакета. Вы начали использовать виртуальную среду, и это основная причина вашей проблемы, или вы представили их только как часть решения? - person Mike from PSG; 24.05.2019
comment
Я использовал виртуальную среду как часть решения. - person 2017kamb; 26.05.2019

tk уже в python — вам не нужно его устанавливать.

Вы можете попробовать выполнить следующие действия:

- reinstall the python3
- (on UNIX* OS) use pip3, not pip
- pip3 install PySimpleGUI
person Nikolay Gogol    schedule 23.05.2019
comment
Я сделал, sudo apt-get remove python3.7 sudo apt-get install python3.7 pip3 install PySimpleGUI, но проблема все еще не решена - person 2017kamb; 23.05.2019
comment
Это похоже на проблему установки tkinter. Уберите PySimpleGUI из уравнения. Если вы запустите python3 и наберете ››› import tkinter, и это не удастся, значит, вы все еще не устранили проблему. Есть ли проблемы с выпуском tk на некоторых версиях в Linux? - person Mike from PSG; 23.05.2019