0
Импорт пакета с:Python работает импорт в 2,7, но не в 3.2+
from unique_upload import unique_file_upload
Работает в Python 2.7, но не в Python 3.2 и выше:
ImportError: cannot import name unique_file_upload
Структура проекта:
test/
__init__.py
test_unique_upload # <-- calling from unique_upload import unique_file_upload here
unique_upload/
__init__.py
unique_upload
unique_upload/__init__.py
содержит:
__version__ = '0.2.0'
from unique_upload import unique_file_upload
Полный трассировки стека:
ImportError: Failed to import test module: test_unqiue_upload
Traceback (most recent call last):
File "/opt/python/3.5.0/lib/python3.5/unittest/loader.py", line 428, in _find_test_path
module = self._get_module_from_name(name)
File "/opt/python/3.5.0/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name
__import__(name)
File "/home/travis/build/agconti/django-unique-upload/test/test_unqiue_upload.py", line 4, in <module>
from unique_upload import unique_file_upload
File "/home/travis/build/agconti/django-unique-upload/unique_upload/__init__.py", line 2, in <module>
from unique_upload import unique_file_upload
ImportError: cannot import name 'unique_file_upload'
Любая идея, почему это происходит?
'от __future__ импорта absolute_import' – MaxNoe
Этот' от __future__ import' делает противоположное тому, что просит плакат: он сломал бы сборку для 2.x так же, как и для 3.x. Ну, по крайней мере, это было бы непротиворечиво ;-). –
Я должен был написать это. Я хотел предложить использовать ваше решение, чтобы заставить его работать с 3.x, а затем добавить будущий импорт, чтобы добавить обратно совместимость 2.x / – MaxNoe