Настроить цилиндр для модулей внутри яиц. (Код VS) - PullRequest
0 голосов
/ 05 февраля 2020

Структура проекта

У меня есть следующая структура папок

|
|- src
|   |- mypackage
|   |    |- __init__.py
|   |    |- mymodule.py
|   |- utils.egg
|- main.py

в mymodule.py файле. Я могу импортировать яйцо, добавив его в sys.path как

import sys
sys.path.append('src/utils.egg')
import utils

При звонке main.py все работает нормально (python -m main).

Проблема

Проблема исходит от pylint. Во-первых, в mymodule.py файле

отображается следующее сообщение: Не удается импортировать пилы 'utils' (ошибка импорта)

, если я запрашиваю предложения (CRTL + Space) при импорте я получил

utils.build
     .dist
     .utils
     .setup
#     |- suggestions

и с utils.utils я могу получить доступ к реальным классам / функциям в модуле utils. Конечно, если я импортирую utils.utils, то при выполнении сценария main появляется ошибка импорта.

  • Как я могу настроить параметр vscode в столбце исправления порядка?
  • я должен установить яйцо вместо того, чтобы скопировать его в рабочую папку?
  • В порядке ли структура папок моего проекта или она не соответствует рекомендованным методам?

Дополнительная информация

Если вам интересно, что файл EGG-INFO/SOURCE.txt выглядит как

setup.py
utils/__init__.py
utils/functions.py
utils.egg-info/PKG-INFO
utils.egg-info/SOURCES.txt
utils.egg-info/dependency_links.txt
utils.egg-info/top_level.txt
utils/internals/__init__.py
utils/internals/somemodule.py
utils/internals/someothermodule.py

Кроме того, в яйце нет ни build, ни dist папок.

1 Ответ

1 голос
/ 07 февраля 2020

Это проблема самого Pylint, а не расширения Python, поэтому все сводится к тому, что вам нужно настроить Pylint.

Что касается того, нужно ли вам копировать яйцо или устанавливать его, Вы должны установить его в свою виртуальную среду или хотя бы скопировать соответствующий файл .pth, чтобы обеспечить правильную работу каталога egg.

...