Отладчик Vscode importError - PullRequest
       4

Отладчик Vscode importError

0 голосов
/ 10 января 2020

Я пытаюсь отладить мой удаленный проект django с помощью отладчика vscode. Когда программа запускается, модуль, который я устанавливаю в virtualenv, не используется, но используется модуль в vscode. Я нашел это, напечатав модуль

import completion
print(completion)

#output
<module 'completion' from '/root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/completion.pyc'>

, но в удаленной оболочке python manage.py:

import completion
print(completion)

#output
<module 'completion' from '/{my_python_path}/site-packages/completion/__init__.pyc'>

запуск. json:

{
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "console": "integratedTerminal",
            "args": [
                "runserver",
                "--noreload",
                "--nothreading"
            ],
            "justMyCode": true,
            "pythonPath": "${config:python.pythonPath}",
            "django": true
        }
    ]
}

Я удаляю completion.py в /root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/, после чего запускается программа ... Но это может нарушить некоторые функции? Для чего используется модуль завершения? Как импортировать модуль из virtualenv?

1 Ответ

0 голосов
/ 15 января 2020

Это потому, что этот каталог помещается на ваш sys.path для загрузки отладчика. Не стесняйтесь открывать ошибку в https://github.com/microsoft/vscode-python, чтобы рассмотреть вопрос о переименовании файла, чтобы было меньше шансов столкновения с одним из ваших собственных файлов.

...