кажется, что если файл называется io.py
и он импортирует scipy.ndimage
, последний как-то в конечном итоге не в состоянии найти свой собственный подмодуль, называемый также io
:Python и противоречивы модуль имена
$ echo "import scipy.ndimage" > io.py
$ python io.py
Traceback (most recent call last):
File "io.py", line 1, in <module>
import scipy.ndimage
File "/usr/lib/python2.7/dist-packages/scipy/__init__.py", line 70, in <module>
from numpy import show_config as show_numpy_config
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 153, in <module>
from . import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 22, in <module>
from .npyio import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 4, in <module>
from . import format
File "/usr/lib/python2.7/dist-packages/numpy/lib/format.py", line 141, in <module>
import io
File "/tmp/rm_me/io.py", line 1, in <module>
import scipy.ndimage
File "/usr/lib/python2.7/dist-packages/scipy/ndimage/__init__.py", line 172, in <module>
from .filters import *
File "/usr/lib/python2.7/dist-packages/scipy/ndimage/filters.py", line 37, in <module>
from scipy.misc import doccer
File "/usr/lib/python2.7/dist-packages/scipy/misc/__init__.py", line 45, in <module>
from .common import *
File "/usr/lib/python2.7/dist-packages/scipy/misc/common.py", line 10, in <module>
from numpy import exp, log, asarray, arange, newaxis, hstack, product, array, \
ImportError: cannot import name exp
Является ли это ошибка в SciPy
, или я использую Python неправильно?
Update: Я думаю, что менее удивительно поведение было бы, если import mod2
в mod1
решенных путях относительно mod1
, а не по отношению к кто бы импортировано mod1
.
Это не ошибка в SciPy; это то, как работает импорт Python. Это, как говорится, я не уверен, что обходное решение, помимо вызова вашего модуля, что-то еще. – jangler
Запустите 'python --version' и посмотрите, что вы получаете. – user2357112
@ user2357112 2.7.6 (родной Ubuntu-14.04) – MaxB