无法导入PySimpleGUI

4

我正在尝试探索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

如何解决这个问题?


只是为了明确,这完全是一个tkinter/系统配置问题。与PySimpleGUI本身没有任何关系。如果你想用tkinter编码,这将是立即发生的问题。同样的错误会发生:ModuleNotFoundError: No module named '_tkinter'。 - Mike from PSG
5个回答

4

现在我能够解决这个问题,我使用了pyenv并通过pyenv安装了Python。

我采取了以下步骤:

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

安装最新版本的Python

pyenv install 3.7.0

列出Python版本

pyenv versions

设置全局版本

pyenv global 3.7.0

检查Python版本

python -V

安装PySimpleGUI

pip3 install PySimpleGUI

就这样,现在我可以导入PySimpleGUI了。

import PySimpleGUI

虚拟环境通常会导致“缺少包”类型的错误。你最初是否使用了虚拟环境,这是你问题的根本原因,还是仅在解决方案中引入了它们? - Mike from PSG
我在解决方案中使用了虚拟环境。 - 2017kamb

1

tk已经在Python中了 - 无需安装。

您可以尝试以下步骤:

- reinstall the python3
- (on UNIX* OS) use pip3, not pip
- pip3 install PySimpleGUI
- pip3 install --upgrade --force PySimpleGUI

我已经执行了以下命令:sudo apt-get remove python3.7,sudo apt-get install python3.7,pip3 install PySimpleGUI,但问题仍未解决。 - 2017kamb
这听起来像是一个tkinter安装问题。先把PySimpleGUI排除在外。如果你运行python3并输入>>> import tkinter,但它失败了,那么你仍然没有解决问题。 在一些Linux版本上,tk是否存在发布问题? - Mike from PSG

0
你可以尝试使用以下命令列出 pip 下的所有软件包。Tkinter 应该已经默认安装了,而 PySimpleGUI 应该会在列表中显示出来。
python -m pip list

0

我通过使用Conda解决了这个问题。

我卸载了Python并通过Conda安装了Python。然后,我创建了一个新项目,使用Conda作为环境,并简单地选择了我想要的Python版本,然后它就可以工作了。


0
我通过访问 Visual Studio Code - 右下角显示的 Python 版本解决了这个问题。 我有两个选择: Python 3.10.7 ('.venv':venv) - 已选择 Python 3.10.7 64 位 (C:\Program Files\Python310\Python.exe) 我切换到 64 位版本,然后 "import PySimpleGUI as sg" 成功了。 也许 PySimpleGUI 只兼容 64 位的 Python?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接