模块不存在:'psycopg2'

7

我使用pip安装了psycopg2

C:\Users\username>python -m pip install psycopg2

我调整了我的设置:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # also tried: django.db.backends.postgresql
    'NAME': 'name',
    'USER': 'user',
    'PASSWORD': 'my_password',
    'HOST': 'localhost',
    'PORT': '5432',
   }
}

当我尝试运行服务器时:

import psycopg2 as Database ImportError:

No module named 'psycopg2'

然后我再次运行,得到了以下结果:

python -m pip install psycopg2 要求已满足(使用--upgrade进行升级):psycopg2 in ...

那么我做错了什么?我是 Django 的新手。


1
你是否在虚拟环境或类似的环境中运行Django应用程序?你正在将psycopg安装在系统site-packages中吗? - rll
2
你尝试在交互式控制台中执行 import psycopg2 了吗? - m.antkowicz
@m.antkowicz 是的,我运行了 import psycopg2 并得到了 >>> - Jonnny
@rll - 可能我有一个文件夹 C:/venvs/env1。 我需要将其安装在 venvs 还是 env1 中? - Jonnny
如果Django正在env1上运行,在命令行中激活该环境,然后安装psycopg。 - rll
6个回答

11

有可能您安装了两个版本的Python,python2-pip 别名为 pip,而 python3-pip 则别名为 pip3

请确保使用正确的版本和对应的 pythonpip 命令。

因此,正确的命令如下:

pip3 install psycopg2

没有找到pip3模块。 - Jonnny
这对我来说是答案,我之前一直在使用easy_install而不是pip3,但那只是在python2.7下放置一个egg文件。 - influent

5
你可以尝试。
pip install psycopg2-binary

4

要求的 'psycopg2-2.6.2-cp27-cp27m-win_amd64.whl' 看起来像是一个文件名,但该文件不存在。在此平台上不支持 'psycopg2-2.6.2-cp27-cp27m-win_amd64.whl'。 - Jonnny
你可以尝试一下我上面链接中的其他文件。搜索“psycopg2”,你有8个文件可供选择。 - ettanany

3

如果您在按照安装教程(链接)的过程中,安装了virtualenv,并创建了一些环境(例如env1),然后在该环境中安装了Django,则您也在该环境中运行Django(否则它将不会被安装)。为了安装模块,您需要首先激活环境,然后使用pip


3
在Mac OS上,使用pip install psycopg2-binary可以解决这个问题。

0

在安装psycopg2之前,请先安装以下依赖项

apt-get install libpq-dev

现在安装:

pip install psycopg2

执行以下命令生成Django配置的数据库:

python manage.py migrate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接