【问题标题】:unable to import PySimpleGUI无法导入 PySimpleGUI
【发布时间】:2019-05-23 05:44:10
【问题描述】:

我正在尝试探索 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/system 配置问题。真的与 PySimpleGUI 本身没有任何关系。如果你想用 tkinter 编码,这将是立即发生的问题。会发生同样的错误:ModuleNotFoundError: No module named '_tkinter'

标签: python-3.x tkinter pysimplegui


【解决方案1】:

现在我可以解决问题了,因为我使用了 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

【讨论】:

  • 虚拟环境经常会导致这些“缺少包”类型错误。您是否开始使用虚拟环境,这是您问题的根本原因,还是仅将它们作为解决方案的一部分引入?
  • 我使用虚拟环境作为解决方案的一部分。
【解决方案2】:

tk 在 python 中已经 - 你不需要安装它。

您可以尝试以下步骤:

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

【讨论】:

  • 我做了,sudo apt-get remove python3.7 sudo apt-get install python3.7 pip3 install PySimpleGUI 但问题仍未解决
  • 这听起来像是一个 tkinter 安装问题。将 PySimpleGUI 排除在外。如果您运行 python3 并键入 >>> import tkinter,但它失败了,那么您仍然没有解决问题。在 Linux 上的某些版本上发布 tk 是否存在问题?
【解决方案3】:

你可以试试这个列出 pip 下的所有包。 Tkinter 应默认安装,PySimpleGUI 应显示在列表中。

python -m pip list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多