我使用了matplotlib / pylab几年并且喜欢它。现在甚至仅仅是导入声明
将pylab导入为p
或
导入matplotlib
生成以下错误。 (在python26和python26-64中,matplotlib 1.1.0)
我唯一知道的变化是,在此之前,我使用(在不同的脚本中)模块'gdspy'(一个非常好的gds文件为制作照片蒙版的人生成实用程序)。从那以后,它发生在最简单的例子中。我的IDE是Eclipse Indigo。
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
答案 0 :(得分:3)
我认为这里的真正错误是在第一个回溯中指出的,以'module' object has no attribute 'local'
结尾。在我看来,当Python遇到一行import threading
时,它会选择一个脚本C:\pd\GDSII\threading.py
而不是正确的C:\Python26\lib\threading.py
。
你的堆栈跟踪告诉我Python的subprocess
模块执行import threading
,因此Python可能会选择其他脚本而不是它期望找到的正确threading
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
)文件帮助?