Как использовать отладчик PyDev с возможностью встраивания в Python (zip-файл), не добавляя информацию о затмении в путь к Python? - PullRequest
0 голосов
/ 20 марта 2019

При использовании python, упакованного в виде встраиваемого zip-файла где-то на общем ресурсе, и моих приложений на python (их несколько) где-то еще на отдельных общих ресурсах, я могу создавать версии приложений, отделенных друг от друга и от python.Затем приложения «делятся» (используют) одной и той же версией Python (встраиваемый экземпляр) - поэтому мне нужно управлять только одной версией Python для всех моих приложений.

Теперь я хочу отладить одно приложение.(Предположим здесь: приложение уже работает без ошибок при запуске) Я использую eclipse и PyDev.После создания рабочей области и связывания кода как папки с проектом в рабочей области eclipse я сообщаю PyDev, где найти мой встраиваемый интерпретатор python и какое приложение запустить.

Когда я начинаю отладку, отладчик сообщает мне:

Traceback (most recent call last):
  File "C:\eclipse\plugins\org.python.pydev.core_7.1.0.201902031515\pysrc\pydevd.py", line 19, in <module>
    from _pydev_bundle import fix_getpass
ModuleNotFoundError: No module named '_pydev_bundle'

То есть отладчик не находит свои собственные модули?Теперь я добавляю путь к источникам PyDev к PYTHONPATH встраиваемого интерпретатора python в файле

python36._pth

следующим образом:

C:\eclipse\plugins\org.python.pydev.core_7.1.0.201902031515\pysrc

(да, этот путь не относительный) (Примечание: мне нужно перенастроить интерпретатор в eclipse, чтобы pydev распознал изменения пути)

Это решит эту проблему, и я смогу отладить приложение.(Не обращая внимания на предупреждения отладчика, который заполняет мою консоль)

Может кто-нибудь сказать мне, почему мне нужно добавить этот путь к моему встраиваемому python, который должен быть настолько независимым, насколько это возможно?Могу ли я настроить это где-нибудь еще?Я уже пытался добавить исходный путь к проекту Eclipse PYTHONPATH и интерпретатору Eclipse PYTHONPATH, но безуспешно.

PS: Мой питон должен быть независим от приложений, чтобы делиться им между ними и иметь возможностьзаменить его (свежее обновление до новой версии).Приложения запускаются с помощью ссылки оболочки Windows Power, где я называю свой исполняемый файл на Python и передаю приложение в качестве аргумента.Так что двойного щелчка на значке Power Shell достаточно для пользователей приложения

1 Ответ

0 голосов
/ 01 апреля 2019

Я не совсем понял одну вещь: вы запускаете свой код из Eclipse (скажем, отладка как> Python), и он выдает эту ошибку?

Ты как-то меняешь PYTHONPATH?

Способ, которым это работает, заключается в том, что Eclipse / PyDev изменит переменную среды PYTHONPATH, добавив необходимые пути для отладчика pydevd, но если у вас есть пользовательский Python или zip, который затем заменяет или не использует эту переменную, этого результата можно было бы ожидать, и вы должны убедиться, что переменная PYTHONPATH env по-прежнему соблюдается, чтобы отладчик работал ...

...