Исключение при попытке запустить django project debug в VS code
Привет, у меня есть проект на django (4.2.2), и когда я запускаю проект из терминала внутри VS Code, используя "python3 manage.py runserver", все работает отлично. Но я хочу отладить его, поэтому я создал файл launch.json, чтобы запустить его как отладочный Вот что в нем содержится:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger django",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"console": "integratedTerminal",
"django": true,
"args": [
"runserver",
]
}
]
}
Когда я пытаюсь запустить проект с помощью кнопки отладки, я получаю следующую ошибку:
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 or psycopg module
Я установил библиотеку psycopg, как если бы я смотрел на свой requiremnts.txt У меня есть
psycopg==3.2.4
psycopg-binary==3.2.4
Не уверен, в чем проблема? В режиме отладки ошибка отображается в моем models.py файле:
from django.db import models
class User(models.Model): # <-- here is the error
"""
User entity
"""
id = models.AutoField(primary_key=True)
first_name = models.CharField(max_length=80)
last_name = models.CharField(max_length=100)
# created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"{self.first_name} {self.last_name}"
РЕДАКТИРОВАТЬ: добавлена полная трассировка ошибки ниже
У меня была такая проблема, и я полагаю, что способ ее устранения был описан здесь. Попробуйте сделать это:
brew install postgresql
pip install "psycopg[binary,pool]" --force-reinstall --no-cache-dir
Сегодня утром я устранил проблему, создав заново новый venv. Я заметил, что запуск pip freeze
вернул мне список, который намного больше, чем должен быть, по сравнению с установленными мной библиотеками.
Итак, я понял, что, хотя в VSCode внизу указано, что я использую свой venv, который я создал для проекта, на самом деле это не так. Каждая команда установки pip устанавливала библиотеки в мой "глобальный" venv.
Я удалил venv, создал новый, затем запустил
python3 -m venv venv
активировал venv с помощью venv/bin/activate
, а затем я попытался установить библиотеки, и они были установлены в правильном venv. Если я запущу pip freeze
У меня получится 6 строк вместо более чем 30 ранее.
Если VS code по-прежнему сообщает, что не удается разрешить импорт, закройте VS code и запустите снова.