ImportError:导入_psycopg时,DLL加载失败:找不到指定的模块

问题描述

我有一个django项目,试图与postgres数据库连接。但是,当我尝试运行命令python manage.py makemigrations时,出现以下错误

(card_crate_venv) G:\Shared drives\Card Crate\Software Development\card_crate_admin\website>python manage.py makemigrations
Traceback (most recent call last):
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\website\manage.py",line 22,in <module>
    main()
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\website\manage.py",line 18,in main
    execute_from_command_line(sys.argv)
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\django\core\management\__init__.py",line 401,in execute_from_command_line
    utility.execute()
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\django\core\management\__init__.py",line 377,in execute
    django.setup()
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\django\__init__.py",line 24,in setup
    apps.populate(settings.INSTALLED_APPS)
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\django\apps\registry.py",line 91,in populate
    app_config = AppConfig.create(entry)
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\django\apps\config.py",line 90,in create
    module = import_module(entry)
  File "C:\Users\Ross Waston\AppData\Local\Programs\Python\python39\lib\importlib\__init__.py",line 127,in import_module
    return _bootstrap._gcd_import(name[level:],package,level)
  File "<frozen importlib._bootstrap>",line 1030,in _gcd_import
  File "<frozen importlib._bootstrap>",line 1007,in _find_and_load
  File "<frozen importlib._bootstrap>",line 986,in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>",line 680,in _load_unlocked
  File "<frozen importlib._bootstrap_external>",line 790,in exec_module
  File "<frozen importlib._bootstrap>",line 228,in _call_with_frames_removed
  File "G:\Shared drives\Card Crate\Software Development\card_crate_admin\card_crate_venv\lib\site-packages\psycopg2\__init__.py",line 51,in <module>
    from psycopg2._psycopg import (                     # noqa
ImportError: DLL load Failed while importing _psycopg: The specified module Could not be found.

settings.py:

INSTALLED_APPS = [
    'psycopg2','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','dashboard.apps.DashboardConfig',]

...

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2','NAME': 'development','USER': 'superuser','PASSWORD': 'admin','HOST': '192.168.1.100','PORT': '5432',}
}

软件包:

enter image description here

解决方法

我发现这不起作用,因为我使用python 3.9作为解释器。在PyCharm中,我创建了一个新的解释器,将基本解释器设置为python 3.7,然后重新安装了所有需要的软件包,使其按预期工作