我的项目正在运行postgreSQL,在我将系统升级到ubuntu 16.04并再次克隆项目后,我无法安装特定的软件包。
我还试图清除postgresql和psycopg2但是无法安装它
(temp) hellrazor@hellrazor-desktop:~/workspace/te___ave/backend/te___ave$ pip install psycopg2==2.6 > ERROR.txt
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-f6rRmm/psycopg2/
(temp) hellrazor@hellrazor-desktop:~/workspace/te___ave/backend/te___ave$
这是我得到的错误
Collecting psycopg2==2.6
Using cached psycopg2-2.6.tar.gz
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'
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
----------------------------------------
我完成了用https://help.ubuntu.com/community/PostgreSQL#Client_Installation
写的所有步骤同样在pg_config executable not found的某些答案中,我看到我需要添加sudo apt-get install libpq-dev python-dev
但它给出了这个输出
(temp) hellrazor@hellrazor-desktop:~/workspace/teamwave/backend/teamwave$ sudo apt-get install libpq-dev python-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-dev is already the newest version (2.7.11-1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libpq-dev : Depends: libpq5 (= 9.5.10-0ubuntu0.16.04) but 10.1-1.pgdg16.04+1 is to be installed
E: Unable to correct problems, you have held broken packages.
我正在尝试找到如何解决错误但现在没有获得任何线索。
答案 0 :(得分:3)
我认为您遇到了版本锁定psycopg2
这一事实的问题。您已锁定到版本2.6
,其中包含一些已知的构建问题,这些问题将在以后的版本中得到解决。
如果您阅读了发布说明,请访问:http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-7-4,您会看到该版本2.7
和2.7.4
都修复了与构建和安装软件包相关的错误。
我的猜测是你先前安装的Linux运行的是Postgres的旧版本(我认为9.5
)。但是,现在您升级了操作系统,无意中升级到版本10
。
以下是四种不同的解决方案,但首先您可能需要
pg_config
。pip install psycopg2
libpq-dev
包锁定为适合PostgreSQL 9.5
9.5
10
醇>