ImportError:没有名为psycopg2的模块


80

在安装OpenERP 6的过程时,我想使用此命令生成一个配置文件,

cd / home / openerp / openerp-server / bin /

./openerp-server.py -s --stop-after-init -c /home/openerp/openerp-server.cfg

但是总是显示一个信息

ImportError: No module named psycopg2

当我检查psycopg2软件包时,它已经安装好了,

软件包python-psycopg2-2.4.5-1.rhel5.x86_64已安装且最新版本

没事做

这怎么了

我的服务器是CentOS,我已经安装了python 2.6.7。


24
您需要就其他一些问题接受一些答案。
约翰·里昂

2
该软件包为python2.4安装。如果手动安装了2.6,则还必须安装2.6的所有其他软件包。
基思

请执行以下命令以确认python系统路径。$ python -c 'import sys; print sys.path'
伊东大藏(Taizo Ito)2012年

您能尝试import psycopg2在python控制台上尝试吗?
Nilesh 2012年

如果您得到答案,请选择答案。
Nilesh 2012年

Answers:


101

步骤1:安装依赖项

sudo apt-get install build-dep python-psycopg2

步骤2:在您的virtualenv中运行此命令

pip install psycopg2 

参考:费尔南多·穆诺兹


2
对我来说很好。谢谢!
MRocklin 2014年

1
我不得不跑步easy_install psycopg2,但是您的问题使我到了那里!
JcKelley 2014年

7
对于Python3用户:安装libpq-dev postgresql
alekwisnia,2016年

5
在Kubuntu 16.04上,build-dep选项无效,但sudo apt-get install python-psycopg2有效
Mugoma J. Okomba

4
在ubuntu 16.04中,它显示E:无法找到软件包build-dep
Harun-Ur-Rashid

43

我遇到了同样的问题,并使用以下命令解决了该问题:

sudo apt-get install libpq-dev
pip install psycopg2

这修复了You need to install postgresql-server-dev-X.Y ...我运行后收到的错误消息sudo apt-get install build-dep python-psycopg2(甚至认为我已经安装了postgresql)。
webelo


16

尝试安装

psycopg2-binary

pip install psycopg2-binary --user


这是唯一的答案是为我工作用python 3.7.3django 3.0.2
布赖恩·约瑟夫

2
--user是做什么用的?
穆罕默德·伊纳姆·穆尼尔

@MuhammadInaamMunir--user : Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows.您可以使用查看更多信息pip install --help
Fendi Setiawan

12

请尝试import psycopg2在python控制台上运行命令。如果收到错误,请检查sys.pathpython在哪里寻找安装模块。的父目录python-psycopg2-2.4.5-1.rhel5.x86_64是否存在sys.path。如果它不是在sys.path然后运行export PYTHONPATH=<parent directory of python-psycopg2-2.4.5-1.rhel5.x86_64>运行的OpenERP服务器之前。


9

试试这些:

virtualenv -p /usr/bin/python3 test_env
source test_env/bin/activate
pip install psycopg2

如果您坚持要在系统上安装python,请运行python并尝试导入python:

pip3 install psycopg2

3

您需要安装psycopg2模块。

在CentOS上:确保已安装Python 2.7+。如果没有,请按照以下说明进行操作:http : //toomuchdata.com/2014/02/16/how-to-install-python-on-centos/

# Python 2.7.6:
$ wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
$ tar xf Python-2.7.6.tar.xz
$ cd Python-2.7.6
$ ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
$ make && make altinstall
$ yum install postgresql-libs

# First get the setup script for Setuptools:
$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

# Then install it for Python 2.7 and/or Python 3.3:
$ python2.7 ez_setup.py

$ easy_install-2.7 psycopg2

即使这是CentOS的问题,这还是Ubuntu的说明:

$ sudo apt-get install python3-pip python-distribute python-dev
$ easy_install psycopg2

引用:http : //initd.org/psycopg/install/


ez_setup.py is deprecated and when using it setuptools will be pinned to 33.1.1
亚瑟

3

最近在我的生产服务器上遇到了此问题。我已经使用安装了pyscopg2

sudo pip install psycopg2

它在我的本地计算机上运行良好,但让我在ec2服务器上运行。

sudo python -m pip install psycopg2

上面的命令在那里为我工作。张贴在这里,以防将来对某人有帮助。


2

我有同样的问题,但仅此片段就解决了我的问题。

pip install psycopg2

1

对于Python3

步骤1:安装依赖项

sudo apt-get install python3 python-dev python3-dev

步骤2:安装

pip install psycopg2

1

正确检查您的对象的虚拟环境是否已打开,如果已关闭,则将其打开。执行以下代码:

workon <your_env_name>
python manage.py runserver

它为我工作


1

我面临同样的问题,浪费了几乎一天的时间来解决这个问题。我已经做了两件事1-使用python 3.6而不是3.8 2-更改django 2.2版本(可能工作得更高,但我更改为2.2)

现在工作正常


1

当我从Windows 10切换到ubuntu时,遇到了同样的问题。以下内容对我有用。

sudo apt-get install libpq-dev, then pip3 install psycopg2

我希望这对遇到相同问题的人有所帮助,尤其是在将Windows操作系统切换到linux(ubuntu)时。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.