当前位置: 首页 > 面试题库 >

Python3.5 backend_tkagg不再可用?

陈茂
2023-03-14
问题内容

我正在尝试运行以前运行的应用程序。它曾经在Ubuntu和Windows 7上运行。我现在有一台Windows
10计算机,代码失败。可能是因为我现在使用的是python 3.5,尽管坦率地说我不记得我在其他计算机上(不再可用)上的内容。

关键行是:

import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg

不久前已从各个地方取消。但是,现在当我运行它时,它会引发错误:

Traceback (most recent call last):
  File "C:\....py", line 17, in <module>
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
  File "C:\Users\...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 13, in <module>
    import matplotlib.backends.tkagg as tkagg
  File "C:\Users\g...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\backends\tkagg.py", line 9, in <module>
    from matplotlib.backends import _tkagg
ImportError: DLL load failed: The specified module could not be found.

在交互式会话中,似乎是第三行失败了:

>>> import matplotlib
>>> matplotlib.use("TkAgg")
>>> from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
  File "C:\Users\...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 13, in <module>
    import matplotlib.backends.tkagg as tkagg
  File "C:\Users\...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\matplotlib\backends\tkagg.py", line 9, in <module>
    from matplotlib.backends import _tkagg
ImportError: DLL load failed: The specified module could not be found.

我试过了

pip uninstall matplotlib
pip install matplotlib

在命令提示符下,但错误仍然存​​在。

似乎可能有python-matplotlib-tk软件包,但我不确定这是什么。

我应该回到python 3.4,还是有解决方案?这是一个已知问题吗?

针对以下有关安装matplotlib的评论:

C:\>pip install matplotlib
Collecting matplotlib
  Downloading matplotlib-1.5.1-cp35-none-win32.whl (6.2MB)
    100% |################################| 6.2MB 67kB/s
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6 in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): pytz in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): cycler in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): pyparsing!=2.0.4,>=1.5.6 in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in c:\users\...\appdata\local\programs\python\python35-32\lib\site-packages (from python-dateutil->matplotlib)
Installing collected packages: matplotlib
Successfully installed matplotlib-1.5.1

问题答案:

我有同样的问题

我在matplotlib中阅读了文档

对于Python 3.5,需要安装Visual Studio 2015的Visual C 可再发行组件。如果未为所有用户安装Python
2.7至3.4(不是默认值),则使用Microsoft Visual C
2008(对于Python
2.7至3.2为64位或32位)或Microsoft Visual C ++ 2010(对于Python 3.3和64位或32位)
3.4)需要安装可再发行软件包。

我安装了Visual Studio 2015的Visual C ++
Redistributable, 它解决了这个问题



 类似资料:
  • 我正在尝试使用Electron构建Windows和Mac OS应用程序,但遇到了一个障碍。 简而言之,如果我尝试在Mac OS Big Sur上直接使用电子运行应用程序(而不是构建一个Mac应用程序然后运行它),我会返回以下错误: 我在我的中使用以下内容直接使用Electron运行: 到目前为止,我唯一能访问的Mac OS环境是Big Sur,所以我还没有在早期版本的Mac OS上尝试过,但是从谷

  • 那我错过了什么?这是暂时的问题吗?或者beans模式已经转移到其他地方了?

  • 应用程序根本没有启动,显示错误,就像活动不存在一样(即使我有)。 执行时出错:am start-n“com.tectibet.loginapp/com.tectibet.loginapp.MainActivity”-a Android.Intent.Action.Main-c Android.Intent.Category.Launcher启动:Intent{act=Android.Intent.

  • 我有一个奇怪的问题,每天我的AJAX请求一个网站不再工作。 我现在正在努力使它工作,但找不到问题。 这是我的JavaScript:基本上它非常简单,它检索ip adres并将其发送到存储它的站点。 在服务器上,我现在添加了这一项,以避免使用通配符 当我只使用 头('access-control-allow-origin:');我得到错误:Cross-Origin-request blocked:C

  • 我希望在进行计算时加快很多任务,但在写入表时合并成一组较小的分区。 下面给出了一个简单的演示示例,其中在执行过程中不支持重新分区。 我的预期输出是,映射操作发生在100个分区,最后收集发生在只有10个分区。 Spark似乎通过忽略重新分区优化了执行。如果有人能解释一下如何实现我的预期行为,那会很有帮助。