我正在尝试将我的 PostgreSQL-17 数据库连接到在 Ubuntu-24 上的 Conda 环境中运行的 Django 项目。但是,当我运行 python manage.py makemigrations 时,我不断遇到以下错误:
[1] 73059 segmentation fault (core dumped) python manage.py makemigrations
我不知道问题出在哪里。这是我的
settings.py
文件中用于数据库连接的相关部分:
从 dotenv 导入 load_dotenv load_dotenv()
from dotenv import load_dotenv
load_dotenv()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
# 'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.getenv("DB_NAME", "default_db_name"),
'USER': os.getenv("DB_USER", "default_user"),
'PASSWORD': os.getenv("DB_PASSWORD", "default_password"),
'HOST': os.getenv("DB_HOST", "localhost"), # Service name in Docker Compose
'PORT': os.getenv("DB_PORT", "5432"), # Default PostgreSQL port
'CONN_MAX_AGE': int(os.getenv("CONN_MAX_AGE", '600')),
}
}
这是我的
.env
文件的相关部分:
DB_ENGINE = django.db.backends.postgresql
DB_NAME = test_db
DB_USER = test_admin
DB_PASSWORD = test_123
DB_HOST = localhost
DB_PORT = 5432
DATABASE_URL = 'postgres://test_admin:test_123@db:5432/test_db'
CONN_MAX_AGE = 600
我也尝试过:
我设法使用以下命令调试问题:
gdb --args python manage.py migrate
在gdb内部,我运行程序来跟踪错误:
(gdb) run
根本原因原来与 conda 依赖关系有关。我通过使用以下命令更新所有软件包解决了问题:
conda update --all