Как правильно установить «psycopg2» в этой ситуации - PullRequest
1 голос
/ 28 мая 2019

Я устанавливаю psycopg2 пакет для моего проекта.

pip install psycopg2

тогда я получил эту ошибку:

Collecting psycopg2
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/23/7e/93c325482c328619870b6cd09370f6dbe1148283daca65115cd63642e60f/psycopg2-2.8.2.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 dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    /home/sl/anaconda3/envs/pd36/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'project_urls'
      warnings.warn(msg)
    Error: b'You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.\n'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-r7a1yqf1/psycopg2/
You are using pip version 9.0.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Он сказал, что мне нужно установить libpq-dev (я прав?) Перед установкой psycopg2, поэтому я сделал

sudo apt-get install libpq-dev

тогда это дало мне

Reading package lists... Done
Building dependency tree
Reading state information... Done
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.17-0ubuntu0.16.04.1) but 10.5-1.pgdg16.04+1 is to be installed
E: Unable to correct problems, you have held broken packages.

означает, что мне нужно установить libpq5=9.5.17-0ubuntu0.16.04.1.

ОДНАКО, я не могу установить версию 9.5.xx libpq5, потому что мой

база данных postgresql до 10.xx, и установка

libpq5=9.5.xx переустановит мою базу данных в 9.5.xx, я не могу этого допустить

случилось с моей базой данных. Наконец, я не могу установить psycopg2.

Как это произошло, как я могу правильно установить psycopg2, спаси меня.

Я пытался apt-get install python-psycopg2, но я все еще не могу импортировать psycopg2 в моем проекте.

Я использую python 3.6.5, ubuntu 16.04.

...