pylab错误:TypeError:“NoneType”对象不是callab

2024-04-25 19:52:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用matplotlib/pylab已经有几年了,我很喜欢它。现在,即使是单纯的进口声明

import pylab as p

或者

import matplotlib

生成以下错误。(在python26和python26-64中,matplotlib 1.1.0)

我所知道的唯一变化是,在这之前我使用了模块'gdspy'(一个非常好的gds文件生成工具,用于制作照片面具的人)就在这之前。从那时起,它就发生在最简单的例子中。我的IDE是日蚀靛蓝。在

    Traceback (most recent call last):
  File "C:\pd\GDSII\test2.py", line 1, in <module>
    import matplotlib
  File "C:\Python26\lib\site-packages\matplotlib\__init__.py", line 104, in <module>
    import os, re, shutil, subprocess, sys, warnings
  File "C:\Python26\lib\subprocess.py", line 402, in <module>
    import threading
  File "C:\pd\GDSII\threading.py", line 1, in <module>
    """Thread module emulating a subset of Java's threading model."""
  File "C:\Python26\lib\multiprocessing\__init__.py", line 64, in <module>
    from multiprocessing.util import SUBDEBUG, SUBWARNING
  File "C:\Python26\lib\multiprocessing\util.py", line 287, in <module>
    class ForkAwareLocal(threading.local):
AttributeError: 'module' object has no attribute 'local'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "C:\Python26\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Python26\lib\multiprocessing\util.py", line 258, in _exit_function
    info('process shutting down')
TypeError: 'NoneType' object is not callable
Error in sys.exitfunc:
Traceback (most recent call last):
  File "C:\Python26\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Python26\lib\multiprocessing\util.py", line 258, in _exit_function
    info('process shutting down')
TypeError: 'NoneType' object is not callable

Tags: inpyimportmostmatplotliblibutilline
1条回答
网友
1楼 · 发布于 2024-04-25 19:52:52

我认为这里真正的错误是在第一次回溯中指出的,这个回溯以'module' object has no attribute 'local'结尾。在我看来,当Python遇到一行import threading时,它选择的是一个脚本C:\pd\GDSII\threading.py,而不是正确的C:\Python26\lib\threading.py。在

stacktrace向我建议Python的subprocess模块执行一个import threading,因此Python可能会选择另一个脚本,而不是它期望找到的正确的^{} module。后来,当一个多处理模块试图引用它希望在threading模块中找到但不存在的类时,它会遇到麻烦。在

我不确定C:\pd\GDSII\threading.py里有什么。文本Thread module emulating a subset of Java's threading model与我的机器上C:\Python26\lib\threading.py的第1行显示的内容相同。也许这个错误的脚本是Python自己的线程模块的一个旧版本,其中没有local类?考虑到它的位置,我猜它是您最近开始使用的gdspy模块的一部分。将此脚本重命名为其他文件(并删除同一文件夹中的threading.pyc)是否有帮助?在

相关问题 更多 >