У меня проблема с импортом пакета scipy.special
. Это не вредно, просто раздражает/интересно.
Когда я импортирую scipy с помощью import scipy as sp
, а затем попытаюсь получить доступ к 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'
>>>
но если я тогда сделаю import scipy.special
, я могу получить доступ к специальному модулю через scipy.special
и sp.special
:
>>> 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'>
>>>
Итак, теперь у меня есть модуль special
, доступный как через пространства имен sp
, так и scipy
. Интересный бит заключается в том, что я могу получить доступ к остальной части scipy через пространство имен scipy
.
Первый вопрос: почему модуль special
не импортирует первый раз?
Второй вопрос: как я могу получить доступ к модулю special
только через пространство имен sp
, не определяя пространство имен scipy
?
Изменить: использование Python 2.7.2 и scipy 0.10.1