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