Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 您需要安装postgresql-server-dev-X.Y以构建服务器端扩展,或安装libpq-dev以构建客户端应用程序_Python_Django_Postgresql - Fatal编程技术网

Python 您需要安装postgresql-server-dev-X.Y以构建服务器端扩展,或安装libpq-dev以构建客户端应用程序

Python 您需要安装postgresql-server-dev-X.Y以构建服务器端扩展,或安装libpq-dev以构建客户端应用程序,python,django,postgresql,Python,Django,Postgresql,我正在使用virtualenv处理Django项目,并将其连接到本地postgres数据库。当我运行该项目时 ImportError: No module named psycopg2.extensions 然后我使用这个命令来安装 pip install psycopg2 然后在安装过程中会出现以下错误 Downloading/unpacking psycopg2==2.4.4 Downloading psycopg2-2.4.4.tar.gz (648kB): 648kB downl

我正在使用virtualenv处理Django项目,并将其连接到本地postgres数据库。当我运行该项目时

ImportError: No module named psycopg2.extensions
然后我使用这个命令来安装

pip install psycopg2
然后在安装过程中会出现以下错误

Downloading/unpacking psycopg2==2.4.4
  Downloading psycopg2-2.4.4.tar.gz (648kB): 648kB downloaded
  Running setup.py (path:/home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2/setup.py) egg_info for package psycopg2

    Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.

    Complete output from command python setup.py egg_info:
    running egg_info

creating pip-egg-info/psycopg2.egg-info

writing pip-egg-info/psycopg2.egg-info/PKG-INFO

writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt

writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt

writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'

warning: manifest_maker: standard file '-c' not found



Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.



----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2
Storing debug log for failure in /home/muhammadtaqi/.pip/pip.log

我只是从终端以根用户的身份运行这个命令,问题就解决了

sudo apt-get install -y postgis postgresql-9.3-postgis-2.1
pip install psycopg2


使用以下命令,这将解决错误:

sudo apt-get install postgresql
然后开火:

sudo apt-get install python-psycopg2
最后:

sudo apt-get install libpq-dev

对我来说,这个简单的命令解决了这个问题:

sudo apt-get install postgresql postgresql-contrib libpq-dev python-dev
然后我可以做:

 pip install psycopg2
对于Python 3,我做到了:

sudo apt install python3-dev postgresql postgresql-contrib python3-psycopg2 libpq-dev
然后我就能够做到:

pip3 install psycopg2

您必须设置postgresql-server-dev-X.Y,其中X.Y.是您的服务器版本,它将在服务器端开发模块上安装libpq-dev和其他服务器变量。 在我的情况下是这样的

apt-get install postgresql-server-dev-9.5
正在阅读软件包列表。。。多恩 正在生成依赖关系树以读取状态信息。。。完成 以下软件包已自动安装,不再可用 必需:libmysqlclient18 mysql常用'apt get autoremove'到 移除它们。将安装以下额外软件包:
libpq-dev建议的包:postgresql-doc-10 将安装程序包:libpq-dev-postgresql-server-dev-9.5

在你的情况下

sudo apt-get install postgresql-server-dev-X.Y
sudo apt-get install python-psycopg2

他们改变了psycopg2的包装。安装二进制版本修复了这个问题。如果您想自己编译二进制文件,上述答案仍然有效

默认情况下不再安装二进制软件包。必须明确使用“psycopg2二进制”包

因此,如果您不需要编译自己的二进制文件,请使用:

pip install psycopg2-binary

我在Ubuntu 18.04上使用了一个虚拟环境,因为我只想将其作为客户端安装,所以我只需执行以下操作:

sudo apt install libpq-dev
pip install psycopg2
而且安装没有问题。当然,您可以像其他答案所说的那样使用二进制文件,但我更喜欢这个解决方案,因为它是在requirements.txt文件中声明的。

只需安装libpq dev

$ sudo apt-get install libpq-dev
运行下面的命令

sudo apt-get install python-pip python-dev libpq-dev postgresql postgresql-contrib
pip install psycopg2

你安装了那个软件包吗?如果没有,安装它应该可以解决问题。请注意,单独安装
postgresql-server-X.Y
不会有帮助,因为这样只安装服务器二进制文件、库和数据文件,而不是开发文件(在前面提到的包中)。我只需要客户端libs。“sudo apt get install libpq dev”为我解决了这个问题。ThanksI发现我还必须安装
sudo-apt-get-install-python-dev
,才能让它最终工作谢谢<代码>sudo apt get install libpq dev为我工作@ManishShrivastava,Welcomeuse
sudo-apt-get-install python3-psycopg2
为python3增加了很多功能,
libpq-dev
python-dev
做了必要的魔法
postgis
?Woots有时运行sudo apt update将修复此类错误。我尝试了两种解决方案,但都失败了。运行sudo-apt-udpate解决了这个问题。您救了我的命。生产中不能使用
psycopg2-binary
,因为它会导致一些错误。
psycopg2-binary
不应该在生产中使用:(复制文本:psycopg2二进制软件包旨在让初学者开始使用Python和PostgreSQL,而无需满足构建要求。如果您是依赖psycopg2的发布软件包的维护者,则不应使用“psycopg2二进制”作为模块依赖项。对于生产使用,建议您使用源di我必须为新项目安装pg gem。sudo apt install libpq5=10.15-0ubuntu0.18.04.1(如果发生错误)然后
sudo apt get install libpq dev python dev
谢谢。对我来说效果很好。我认为从现在开始,我们应该只关注python 3解决方案。
sudo apt-get install python-pip python-dev libpq-dev postgresql postgresql-contrib
pip install psycopg2