[Python] Unable to use psycopg2 with Postgres in Django

Discussão em 'Python' iniciado por Stack, Dezembro 18, 2024.

  1. Stack

    Stack Membro Participativo

    As stated in my question, I am now configuring my djagno project to connect with postgres. The issue i am facing is that, when making migrations, it shows me the following error:

    python manage.py makemigrations
    Traceback (most recent call last):
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\backends\postgresql\base.py", line 25, in <module>
    import psycopg as Database
    ModuleNotFoundError: No module named 'psycopg'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\backends\postgresql\base.py", line 27, in <module>
    import psycopg2 as Database
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\psycopg2\__init__.py", line 51, in <module>
    from psycopg2._psycopg import ( # noqa
    ...<10 lines>...
    )
    ImportError: DLL load failed while importing _psycopg: The specified module could not be found.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "E:\Code\Ecom\Ecom\backend\manage.py", line 22, in <module>
    main()
    ~~~~^^
    File "E:\Code\Ecom\Ecom\backend\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\core\management\__init__.py", line 416, in execute
    django.setup()
    ~~~~~~~~~~~~^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\apps\registry.py", line 116, in populate
    app_config.import_models()
    ~~~~~~~~~~~~~~~~~~~~~~~~^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\apps\config.py", line 269, in import_models
    self.models_module = import_module(models_module_name)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
    File "E:\Coding Apps\Lib\importlib\__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
    File "<frozen importlib._bootstrap_external>", line 1022, in exec_module
    File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\contrib\auth\models.py", line 5, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\contrib\auth\base_user.py", line 40, in <module>
    class AbstractBaseUser(models.Model):
    ...<123 lines>...
    )
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\models\base.py", line 143, in __new__
    new_class.add_to_class("_meta", Options(meta, app_label))
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\models\base.py", line 371, in add_to_class
    value.contribute_to_class(cls, name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\models\options.py", line 231, in contribute_to_class
    self.db_table, connection.ops.max_name_length()
    ^^^^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\utils\connection.py", line 15, in __getattr__
    return getattr(self._connections[self._alias], item)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\utils\connection.py", line 62, in __getitem__
    conn = self.create_connection(alias)
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\utils.py", line 193, in create_connection
    backend = load_backend(db["ENGINE"])
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\utils.py", line 113, in load_backend
    return import_module("%s.base" % backend_name)
    File "E:\Coding Apps\Lib\importlib\__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "E:\Code\Ecom\Ecom\ecom\Lib\site-packages\django\db\backends\postgresql\base.py", line 29, in <module>
    raise ImproperlyConfigured("Error loading psycopg2 or psycopg module")
    django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 or psycopg module
    (ecom)


    i have tried literally everything, from adding psql to path to trying to install previous version of psycopg2, but to no avail. I have also ran a dozen session on chatgpt

    Can someone help me with this?

    Continue reading...

Compartilhe esta Página