Проблема с импортом scipy.special

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

16
задан TuringTux 16 February 2018 в 13:33
поделиться