ImportError: Немає модуля з назвою psycopg2


83

Під час встановлення процесу 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.


25
Вам потрібно прийняти деякі відповіді на деякі інші ваші запитання.
John Lyon,

2
Пакет встановлюється для python2.4. Якщо ви встановили 2.6 вручну, тоді вам також доведеться встановити всі інші пакети для 2.6.
Кіт,

Будь ласка, виконайте наступну команду, щоб підтвердити системний шлях python. $ python -c 'import sys; print sys.path'
Тайдзо Іто

Будь ласка, спробуйте import psycopg2на консолі python?
Нілеш,

Якщо ви отримали відповідь, виберіть відповідь.
Нілеш

Відповіді:


106

Крок 1: Встановіть залежності

sudo apt-get install build-dep python-psycopg2

Крок 2: Запустіть цю команду у вашому virtualenv

pip install psycopg2 

Посилання: Фернандо Муньос


2
У мене добре вийшло. Дякую!
MRocklin

1
Мені довелося бігти easy_install psycopg2, але ваше запитання привело мене туди!
JcKelley

8
Для користувачів Python3: встановитиlibpq-dev postgresql
alekwisnia

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

44

Я зіткнувся з тією ж проблемою і вирішив її наступними командами:

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

37

Використовуйте psycopg2-двійковий файл замість psycopg2 .

pip install psycopg2-binary

Або ви отримаєте попередження нижче:

UserWarning: пакет колес psycopg2 буде перейменований з випуску 2.8; щоб продовжувати встановлення з двійкового файлу, використовуйте замість цього "pip install psycopg2-binary". Детальніше див .: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi .

Довідково: Випущено Psycopg 2.7.4 | Psycopg


16

Спробуйте встановити

psycopg2-двійковий

з pip install psycopg2-binary --user


Це єдина відповідь , який працював для мене python 3.7.3іdjango 3.0.2
Brian Joseph

2
для чого призначений --користувач?
Мухаммед Інаам Мунір

1
@MuhammadInaamMunir --user : Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows.Ви можете перевірити більше інформації за допомогою pip install --help.
fendiSetiawan

12

Будь ласка, спробуйте запустити команду import psycopg2на консолі python. Якщо ви отримали помилку, перевірте, sys.pathде пітон шукає модуль встановлення. Якщо батьківський каталог 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, спробуйте:

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

Я зіткнувся з тією ж проблемою і витратив майже день на вирішення цієї проблеми. Я зробив 2 речі 1 - використовую python 3.6 замість 3.8 - 2 змінюю версію django 2.2 (можливо, працює трохи вище, але я переходжу на 2.2)

Зараз він працює нормально


1

Натрапити на ту ж проблему, коли я переходжу на ubuntu з Windows 10 .. наступне працювало для мене .. це після гуглиння та випробування численних пропозицій протягом 2 годин ...

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

Сподіваюсь, це допоможе тому, хто зіткнувся з тією ж проблемою, особливо при переході на ОС Windows на Linux (ubuntu).



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.