Python: модуль не найден, хотя он существует в каталоге

Просто предлагая альтернативу, поскольку у меня была эта проблема, и ни один из других ответов здесь не имел желаемого эффекта, который я хотел. Поэтому вместо этого я использовал список. Теперь семантически информация, которую я выводил, можно было бы рассматривать как как табличные данные, так и перечисленные данные.

Итак, в конце концов я сделал это:

  • ... ... ... ... ...

Таким образом, в основном ul table, li - tr, а span - td.

Затем в CSS я устанавливаю элементы span как display:block; и float:left; ( Я предпочитаю эту комбинацию с inline-block, поскольку она будет работать в более старых версиях IE, чтобы очистить эффект float, см.: http://css-tricks.com/snippets/css/clear-fix/ ) и также иметь эллипсы:

span {
    display: block;
    float: left;
    width: 100%;

    // truncate when long
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

Затем все, что вы делаете, задает max-widths ваших интервалов, и это даст списку вид таблицы.

0
задан 13 July 2018 в 10:30
поделиться

2 ответа

Мне приходят три возможности:

  • Модуль работает только для определенных версий python (например, 3.5, но не 3.6).
  • Путь, в котором находится ваш модуль в настоящий момент не отображается в sys.path.
  • Класс, который вы хотите использовать, должен быть указан при импорте модуля, потому что он не указан в __init__.py самого модуля.

Насколько я могу судить, только первый вариант может вызвать вашу проблему. Тем не менее, я бы быстро проверил

import sys
sys.path

и в случае, если правильный путь действительно отсутствует.

sys.path.append('PathToModule')
0
ответ дан bearyTheBear 17 August 2018 в 13:08
поделиться
  • 1
    Я добавил свой проект в PATH, но я все равно получаю ту же ошибку ModuleNotFound. Он говорит в репозитории diffbot, который был обновлен для работы с python 3 здесь: github.com/diffbot/diffbot-python-client/pull/6 . Однако я не понимаю, почему его импорт sys-заявления PATH разрешает их проблему, а не мою. – user 13 July 2018 в 11:24

Вам нужно будет сделать относительный импорт ( PEP-328 ), но в соответствии с этим руководством вы можете подняться только до уровня, на котором вы запустили скрипт from, который является каталогом tests в вашем случае.

Таким образом, вам придется либо добавить каталог model в путь, либо добавить исходную папку вашего проекта в файл .pth в ваших сайтах-пакетах, как показано здесь здесь

0
ответ дан Maarten Fabré 17 August 2018 в 13:08
поделиться
  • 1
    Я получаю ошибку при попытке относительного импорта E0402: Попытка относительного импорта за пределы пакета верхнего уровня. – user 13 July 2018 в 11:10
Другие вопросы по тегам:

Похожие вопросы: