Ошибка импорта при запуске python как скрипта, но не в iPython?


Answers

Я столкнулся с аналогичной проблемой при импорте numpy или любой библиотеки в зависимости от numpy. Проблема заключалась в том, что у меня было имя файла random.py в папке проекта.

У Numpy есть random.py в нем для его случайных функций, но при импорте он принимает random.py моей папки проекта.

Лучшее решение - не называть файл со стандартными именами модулей любой библиотеки.

Наслаждаться.. :)

Question

У меня есть проект, структурированный как таковой:

folder1
       |
       folder2
             |
             tests

У меня есть __init__.py в каждой папке. Когда я в родительском каталоге folder1, я запускаю iPython и делаю

from folder1.folder2.tests.test1 import main
main()

все работает нормально. Однако, когда я бегу

python folder1/folder2/tests/test1.py

Я получаю ImportError: нет модуля с именем folder1.folder2.file1, где мой оператор import в test1

from folder1.folder2.file1 import class1

Смутно об этом - я предполагаю, что это проблема пути, но я не понимаю, что не так с моим кодом (многие аналогичные настройки в других папках) и почему он по-прежнему работает в iPython, а не на скрипте python, выполняемом как скрипт.




Links