質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1429閲覧

【Django】PostgreSQLを操作しようとすると"Error loading psycopg2 module"が出る

PirateBank

総合スコア19

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/10/18 00:27

編集2022/10/18 07:45

前提

DjangoでPostgreSQLを操作するコードを作ったところ、
Error loading psycopg2 module: No module named 'psycopg2._psycopg' とエラーが発生しました。
psycopg2の読み込みが出来ていないのが原因かなと思うのですが、
対処法が浮かばないので、ご助力いただけると幸いです。

発生している問題・エラーメッセージ

Traceback (most recent call last): File "c:\python\ModelProject\main.py", line 6, in <module> setup() File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\apps\registry.py", line 116, in populate app_config.import_models() File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\apps\config.py", line 269, in import_models self.models_module = import_module(models_module_name) File "C:\ProgramData\Anaconda3\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 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\contrib\auth\models.py", line 3, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\contrib\auth\base_user.py", line 49, in <module> class AbstractBaseUser(models.Model): File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\models\base.py", line 141, in __new__ new_class.add_to_class("_meta", Options(meta, app_label)) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\models\base.py", line 369, in add_to_class value.contribute_to_class(cls, name) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\models\options.py", line 231, in contribute_to_class self.db_table, connection.ops.max_name_length() File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\utils\connection.py", line 15, in __getattr__ return getattr(self._connections[self._alias], item) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\utils\connection.py", line 62, in __getitem__ conn = self.create_connection(alias) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\utils.py", line 193, in create_connection backend = load_backend(db["ENGINE"]) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\utils.py", line 113, in load_backend return import_module("%s.base" % backend_name) File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "C:\Users\(UserName)\.conda\envs\yatzy_env\lib\site-packages\django\db\backends\postgresql\base.py", line 28, in <module> raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2._psycopg'

※ユーザー名は(UserName)に変えています

該当のソースコード

Python

1import os 2import sys 3sys.path.append('パス') 4os.environ.setdefault("DJANGO_SETTINGS_MODULE","ModelProject.settings") 5from django import setup 6setup() 7 8~~以下PostgreSQLを操作するためのコード~~

※6行目のsetup()でエラーが発生しております。
※3行目のsys.path.append('パス')はdjangoモジュールへのパスを通すために入れています。

試したこと

・Pythonのダウングレード(3.9→3.8)

補足情報(FW/ツールのバージョンなど)

・OS:Windows10
・開発ツール:VisualStudio Code
・anaconda3を使用
・マイグレーションは実行可能
・仮想環境にインストールされたモジュール(conda listの実行結果)は以下の通り

conda_listの実行結果

1asgiref 3.5.2 py38haa95532_0 2backports 1.1 pyhd3eb1b0_0 3backports.zoneinfo 0.2.1 py38h2bbff1b_0 4ca-certificates 2022.07.19 haa95532_0 5certifi 2022.9.24 py38haa95532_0 6django 4.1 py38haa95532_0 7krb5 1.19.2 h5b6d351_0 8libpq 12.9 hb652d5d_3 anaconda 9openssl 1.1.1q h2bbff1b_0 10pip 22.2.2 py38haa95532_0 11psycopg2 2.8.6 py38hcd4344a_2 12python 3.8.13 h6244533_0 13python-tzdata 2021.1 pyhd3eb1b0_0 14setuptools 63.4.1 py38haa95532_0 15sqlite 3.39.3 h2bbff1b_0 16sqlparse 0.4.1 py_0 17tzdata 2022c h04d1e81_0 18vc 14.2 h21ff451_1 19vs2015_runtime 14.27.29016 h5e58377_2 20wheel 0.37.1 pyhd3eb1b0_0 21wincertstore 0.2 py38haa95532_2 22zlib 1.2.12 h8cc25b3_2 anaconda

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決できたため報告いたします。

仮想環境を有効にしてからプログラムを実行したところエラーなく実行できました。
※今まではVSCodeで(base)のままデバッグなしで実行(ctrl+F5)を実行していました。

大変お騒がせして申し訳ありません。
以上、よろしくお願いいたします。

投稿2022/10/19 07:56

PirateBank

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問