Как исправить & ldquo; Попытка относительного импорта в не пакет & rdquo; даже с __init__.py

Возможно, вы захотите проверить это: http://snipplr.com/view/799/get-url-variables/ (работает без regEx)

Этот режим действительно использует regEx: http://www.netlobo.com/url_query_string_javascript.html

function gup( name )
{
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regexS = "[\\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( window.location.href );
      if( results == null )
        return "";
      else
        return results[1];
}


var param = gup( 'var' );

687
задан Philip 17 October 2018 в 20:59
поделиться

2 ответа

Поскольку Ваш код содержит if __name__ == "__main__", который не импортируется как пакет, необходимо использовать sys.path.append() для решения проблемы.

0
ответ дан 22 November 2019 в 21:35
поделиться

Проблема с Вашим методом тестирования,

Вы попробовали python core_test.py

затем, Вы получите эту ошибку ValueError: Предпринятый относительный импорт в непакете

Причина: Вы тестируете свою упаковку из источника непакета.

так тестируют Ваш модуль из источника пакета.

, если это - Ваша структура проекта,

pkg/
  __init__.py
  components/
    core.py
    __init__.py
  tests/
    core_test.py
    __init__.py

cd pkg

python -m tests.core_test # dont use .py

или снаружи pkg /

python -m pkg.tests.core_test

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

hi/
  hello.py
how.py

в how.py

from .hi import hello

упаковывают, если Вы хотите импортировать как из hello.py

from .. import how
0
ответ дан 22 November 2019 в 21:35
поделиться
Другие вопросы по тегам:

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