Python 进口特刊

Python 进口特刊,python,scipy,Python,Scipy,我在导入scipy.special包时遇到问题。这不是有害的,只是令人讨厌/有趣 当我使用import scipy as sp导入scipy,然后尝试访问sp.special时,我得到: >>> import scipy as sp >>> sp.special Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError:

我在导入
scipy.special
包时遇到问题。这不是有害的,只是令人讨厌/有趣

当我使用
import scipy as sp
导入scipy,然后尝试访问
sp.special
时,我得到:

>>> import scipy as sp
>>> sp.special
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'special'
>>>
因此,我现在可以通过
sp
scipy
名称空间访问
special
模块。有趣的是,我可以通过
scipy
名称空间访问scipy的其余部分

第一个问题:
特殊
模块为什么不第一次导入

第二个问题:如何仅通过
sp
名称空间访问
special
模块,而不定义
scipy
名称空间


编辑:默认情况下,使用Python 2.7.2和scipy 0.10.1,“导入scipy”不会导入任何子包。具有大型Fortran扩展模块的子包太多,加载速度太慢。我不建议执行
import scipy
或缩写的
import scipy as sp
。这不是很有用。使用scipy import special中的
、scipy import linalg中的
等。

谢谢,我以后会记住这一点。文档中是否有明确说明这一点的地方?我在文档中看不到这样的评论我知道这是一个旧评论,但它仍然是一个常见问题,因此这里有一个资源:
>>> import scipy as sp
>>> import scipy.special
>>> scipy.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>> sp.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>>