报错'NoneType' object has no attribute 'close'
从别的网站上复制的代码,看不懂为什么会错,其他人的电脑都能运行import os
>>> import matplotlib
>>> from pymatgen.ext.matproj import MPRester
>>> from pymatgen.analysis.phase_diagram import PhaseDiagram
>>> from pymatgen.analysis.phase_diagram import PDPlotter
>>> a = MPRester()
>>> entries = a.get_entries_in_chemsys(['Ca', 'C', 'O'])
>>> entries
>>> pd = PhaseDiagram(entries)
AttributeError: 'NoneType' object has no attribute 'close'
Exception ignored in: 'scipy.spatial.qhull._Qhull.__dealloc__'
AttributeError: 'NoneType' object has no attribute 'close'
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
pd = PhaseDiagram(entries)
...........................
File "qhull.pyx", line 2420, in scipy.spatial.qhull.ConvexHull.__init__
File "qhull.pyx", line 269, in scipy.spatial.qhull._Qhull.__init__
File "messagestream.pyx", line 36, in scipy._lib.messagestream.MessageStream.__init__
OSError: Failed to open file b'C:\\Users\\\xe6\x96\xbd\xe7\xbb\xb4\\AppData\\Local\\Temp\\scipy-v97ly3s4'
你这样问来有什么意义呢。错在哪里提示是怎么样的,你的源代码截图啥样的。python 对缩进的要求很严格的,只至少复制粘贴如何学好语言 咱首先得明确,你是在 IDLE 中写的代码,还是将代码拷贝到 .py 文件中运行 阴阳神万物主 发表于 2019-10-25 10:07
咱首先得明确,你是在 IDLE 中写的代码,还是将代码拷贝到 .py 文件中运行
from scipy.spatial import Delaunay
import numpy as np
import matplotlib.pyplot as plt
width = 80
height = 40
pointNumber = 50
points = np.zeros((pointNumber, 2))
points[:, 0] = np.random.randint(0, width, pointNumber)
points[:, 1] = np.random.randint(0, height, pointNumber)
tri = Delaunay(points)
center = np.sum(points, axis=1)/3.0
color = []
for index, sim in enumerate(points):
cx, cy = center, center
x1, y1 = sim, sim
x2, y2 = sim, sim
x3, y3 = sim, sim
s = ((x1-cx)**2+(y1-cy)**2)**0.5 + ((cx-x3)**2+(cy-y3)**2)**0.5 + ((cx-x2)**2+(cy-y2)**2)**0.5
color.append(s)
color = np.array(color)
plt.figure(figsize=(20, 10))
plt.tripcolor(points[:, 0], points[:, 1], tri.simplices.copy(), facecolors=color, edgecolors='k')
plt.tick_params(labelbottom='off', labelleft='off', left='off', right='off', bottom='off', top='off')
ax = plt.gca()
plt.scatter(points[:,0],points[:,1], color='r')
#plt.grid()
plt.savefig('Delaunay.png', transparent=True, dpi=600)
plt.show()
您好,我的代码就是上面的样子,出现的问题是
AttributeError: 'NoneType' object has no attribute 'close'
Exception ignored in: 'scipy.spatial.qhull._Qhull.__dealloc__'
AttributeError: 'NoneType' object has no attribute 'close'
Traceback (most recent call last):
File "d:/李纲/三维相机料堆检测课设/无滤波/wulvbo/深度数据/Delaunay.py", line 13, in <module>
tri = Delaunay(points)
File "qhull.pyx", line 1839, in scipy.spatial.qhull.Delaunay.__init__
File "qhull.pyx", line 271, in scipy.spatial.qhull._Qhull.__init__
File "messagestream.pyx", line 36, in scipy._lib.messagestream.MessageStream.__init__
OSError: Failed to open file b'C:\\Users\\\xe5\xa9\xb7\xe5\xa9\xb7\xe7\x8e\x8b\\AppData\\Local\\Temp\\scipy-w5xmmmyz'
我是将代码拷贝到.py文件中运行的,请问怎么解决。感谢您的回复 ligang456 发表于 2020-3-12 15:29
from scipy.spatial import Delaunay
import numpy as np
import matplotlib.pyplot as plt
你没有 scipy.spatial 这个模块。
你需要安装这个模块。 阴阳神万物主 发表于 2020-3-13 00:29
你没有 scipy.spatial 这个模块。
你需要安装这个模块。
您好,在我的电脑上面已经安装了scipy模块,而且在E:\Lib\site-packages\scipy\spatial中有spatial文件夹,我的python是直接安装在E盘上的。为什么还会出现上面的问题。希望您能帮助我解答,十分感谢。 ligang456 发表于 2020-3-13 09:14
您好,在我的电脑上面已经安装了scipy模块,而且在E:\Lib\site-packages\scipy\spatial中有spatial文件夹 ...
从报错内容来看,的的确确是有什么文件没有找到,或者说是没有权限打开某文件,报错内容是:“打开文件'C:\\Users\\婷婷王\\AppData\\Local\\Temp\\scipy-w5xmmmyz'失败”
其中还有报错是 AttributeError: 'NoneType' object has no attribute 'close'
大致意思是在某个位置试图调用 None 的 close 属性,而 close 一般是文件的关闭方法,所以是某个文件的访问出了问题。
我使用 Tkinter.Font 时曾经出现过类似的问题,实验后发现是前置的库没有 import 。
由于我没有使用过 scipy.spatial 这个库,所以并不知道是哪种可能。
也可能是你复制过来的代码本身就有某些位置与你的电脑不适配。 楼主解决这个问题了嘛?我也出现了这个情况,,
你好 你好 我也遇到这个问题了,请问这个问题解决了吗? 你好,这个解决了吗 我也遇到了
页:
[1]