ImportError:没有名为psycopg2的模块

时间:2012-10-16 01:30:55

标签: python centos openerp centos5

安装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。

真的需要你的帮助..

18 个答案:

答案 0 :(得分:75)

第1步:安装依赖项

sudo apt-get install build-dep python-psycopg2

步骤2:然后在virtualenv中运行此命令

pip install psycopg2 

参考:Fernando Munoz

答案 1 :(得分:11)

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

答案 2 :(得分:8)

尝试:

*(aptr->ptr)

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

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

答案 3 :(得分:4)

我也遇到了同样的问题,并通过运行以下命令解决了该问题:

sudo apt-get install libpq-dev
pip install psycopg2

答案 4 :(得分: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/

答案 5 :(得分:3)

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

安装了pyscopg2
sudo pip install psycopg2

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

sudo python -m pip install psycopg2

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

答案 6 :(得分:2)

尝试安装

  

psycopg2-binary

pip install psycopg2-binary –user

答案 7 :(得分:2)

Mac OS 上的导入错误

如果 psycopg2 已安装,但您无法将其导入您的 .py 文件,则问题在于 libpq、其链接以及库 openssl,其中 {{ 1}} 取决于。总体步骤如下所示。您可以逐步检查以了解哪个是您的错误来源,然后您可以从那里进行故障排除。

  • 检查 libpq 的安装并确保其正常工作。

  • 检查您的系统中是否安装了 openssl,它可能尚未安装或未链接。如果未安装,则使用命令 libpq 安装它。这将安装 libpq 库。 As per the documentation

<块引用>

libpq 是 C 应用程序员的 PostgreSQL 接口。 libpq 是一组库函数,允许客户端程序将查询传递到 PostgreSQL 后端服务器并接收这些查询的结果。

  • 使用 brew install libpq 链接 libpq,如果这不起作用,则使用命令:brew link libpq
  • 同时在您的 brew link libpq --force 文件中加入以下
    .zshrc。这会为 export PATH="/usr/local/opt/libpq/bin:$PATH" 库创建所有必要的链接。
  • 现在重新启动终端或使用以下命令 libpq

  • 现在使用命令 source ~/.zshrc。它会起作用。 即使您在 conda 环境中工作,这也有效。

    注意pip install psycopg2 应该避免,因为 as per the developers of the psycopg2 library
<块引用>

不鼓励在生产中使用 -binary 包,因为过去证明它们在多线程环境中不可靠。这可能已在较新的版本中修复,但我从未设法重现该故障。

答案 8 :(得分:2)

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

pip install psycopg2

答案 9 :(得分:2)

使用psycopg2-binary代替psycopg2

pip install psycopg2-binary

否则,您将收到以下警告:

  

UserWarning:psycopg2 wheel软件包将从2.8版本重命名;为了保持二进制安装,请改用“ pip install psycopg2-binary”。有关详细信息,请参见:http://initd.org/psycopg/docs/install.html#binary-install-from-pypi

参考:Psycopg 2.7.4 released | Psycopg

答案 10 :(得分:1)

我遇到了同样的问题,浪费了几乎一天的时间来解决这个问题。 我做了两件事 1-使用python 3.6代替3.8 2-更改django 2.2版本(可能在更高的版本上工作,但我更改为2.2)

现在可以正常工作

答案 11 :(得分:1)

当我从Windows 10切换到ubuntu时,遇到了同样的问题。以下内容对我有用..在谷歌搜索并尝试了2个小时的大量建议后...

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

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

答案 12 :(得分:1)

sudo pip install psycopg2-binary

答案 13 :(得分:1)

好的,这里的答案都没有提到这一点,我花了一些时间在某个随机网站上偶然发现它。请使用:

pip3 install psycopg2

这是当您使用 Python 3.5 时,您可以通过在终端中运行 python -v 来检查您的版本。

答案 14 :(得分:1)

对于Python3

第1步:安装依赖项

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

第2步:安装

pip install psycopg2

答案 15 :(得分:0)

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

workon <your_env_name>
python manage.py runserver

对我有用

答案 16 :(得分:0)

对于ubuntu上的python3,这对我有用:

$sudo apt-get update
$sudo apt-get install libpq-dev
$sudo pip3 install psycopg2-binary

答案 17 :(得分:0)

通过以下解决方案解决了问题:

  1. 基本上是 _bz2.cpython-36m-x86_64-linux-gnu.so Linux 包文件引起的问题。尝试找到位置。

  2. 检查安装python位置(其中python3)-示例:/usr/local/bin/python3

  3. 复制INSTALL_LOCATION/lib/python3.6下的文件

cp -rvp /usr/lib64/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/python3.6