python – 为什么scipy导入空间工作,而scipy.spatial在导入scipy后不起作用?

我想在我的代码中使用scipy.spatial.distance.cosine.我可以导入空间子模块,如果我执行import scipy.spatial或scipy import spatial,但如果我只是导入scipy调用scipy.spatial.distance.cosine(…)会导致以下错误:AttributeError:’module ‘对象没有’空间’属性.

第二种方法有什么问题?

导入包不会自动导入子模块.您需要显式导入子模块.

例如,import xml不会导入子模块xml.dom

>>> import xml
>>> xml.dom
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dom'
>>> import xml.dom
>>> xml.dom
<module 'xml.dom' from 'C:\Python27\lib\xml\dom\__init__.pyc'>

像os.path这样的例外. (os模块本身将子模块导入其命名空间)

>>> import os
>>> os.path
<module 'ntpath' from 'C:\Python27\lib\ntpath.pyc'>
https://stackoverflow.com/questions/21071715/why-does-from-scipy-import-spatial-work-while-scipy-spatial-doesnt-work-after

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – 为什么scipy导入空间工作,而scipy.spatial在导入scipy后不起作用?