У меня проблема с импортом пакета 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