簡體   English   中英

導入錯誤:沒有名為 psycopg2 的模塊

[英]ImportError: No module named psycopg2

在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 package 時,它已經安裝好了。 Package python-psycopg2-2.4.5-1.rhel5.x86_64已安裝到其最新版本。 沒事做。 這有什么問題嗎? 我的服務器是CentOS,我安裝的是Python 2.6.7。

第一步:安裝依賴

sudo apt-get install build-dep python-psycopg2

第 2 步:在您的 virtualenv 中運行此命令

pip install psycopg2-binary 

參考:費爾南多·穆尼奧斯

使用psycopg2-binary代替psycopg2

pip install psycopg2-binary

或者您將收到以下警告:

用戶警告:psycopg2 輪子包將從 2.8 版重命名; 為了繼續從二進制安裝,請改用“pip install psycopg2-binary”。 有關詳細信息,請參閱:http: //initd.org/psycopg/docs/install.html#binary-install-from-pypi

參考: Psycopg 2.7.4 發布 | 心理咨詢師

我遇到了同樣的問題並使用以下命令解決了它:

sudo apt-get install libpq-dev
pip install psycopg2

嘗試安裝

psycopg2-二進制

使用pip install psycopg2-binary --user

請嘗試在 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>

試試這些:

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

如果您堅持在您的系統上安裝它,請運行 python 並嘗試導入 python 嘗試:

pip3 install psycopg2

Mac OS 上的導入錯誤

如果psycopg2正在安裝,但您無法在.py文件中導入它,那么問題出在libpq 、它的鏈接以及libpq所依賴的庫openssl上。 整個步驟如下所示。 您可以逐步檢查它以了解哪個是您的錯誤來源,然后您可以從那里進行故障排除。

  • 檢查openssl的安裝並確保它正常工作。

  • 檢查系統中是否安裝了libpq ,它可能尚未安裝或未鏈接。 如果未安裝,則使用命令brew install libpq安裝它。 這將安裝 libpq 庫。 根據文檔

libpq 是 C 應用程序程序員到 PostgreSQL 的接口。 libpq 是一組庫函數,允許客戶端程序將查詢傳遞給 PostgreSQL 后端服務器並接收這些查詢的結果。

  • 使用brew link libpq ,如果這不起作用,則使用命令: brew link libpq --force
  • 還將以下內容放入您的.zshrc文件中
    export PATH="/usr/local/opt/libpq/bin:$PATH" 這將為libpq library 創建所有必要的鏈接。
  • 現在重新啟動終端或使用以下命令source ~/.zshrc

  • 現在使用命令pip install psycopg2 它會起作用的。 即使您在 conda 環境中工作,這也有效。

    NB pip install psycopg2-binary應該避免,因為根據 psycopg2 庫的開發人員

不鼓勵在生產中使用 -binary 包,因為過去它們在多線程環境中被證明是不可靠的。 這可能已在較新的版本中得到修復,但我從未設法重現該故障。

sudo pip install psycopg2-binary

您需要安裝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/

最近在我的生產服務器上遇到了這個問題。 我已經安裝了 pyscopg2 使用

sudo pip install psycopg2

它在我的本地運行良好,但讓我在我的 ec2 服務器上運行。

sudo python -m pip install psycopg2

上面的命令在那里為我工作。 在這里張貼以防萬一將來對某人有所幫助。

我有同樣的問題,但僅此片段就解決了我的問題。

pip install psycopg2

對於 ubuntu 上的 python3,這對我有用:

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

我做了兩件事來解決這個問題:

  1. 使用 Python 3.6 而不是 3.8。
  2. 將 Django 版本更改為 2.2(可能正在使用更高版本,但我更改為 2.2)

對於 Python3

第 1 步:安裝依賴項

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

第 2 步:安裝

pip install psycopg2

正確檢查您是否打開了您的peoject的虛擬環境,如果它關閉,則將其打開。 執行以下命令:

workon <your_env_name>
python manage.py runserver

它對我有用

當我從 Windows 10 切換到 Ubuntu 時遇到了同樣的問題。以下內容對我有用。在谷歌搜索並嘗試了 2 小時的眾多建議后,這...

sudo apt-get install libpq-dev

然后

pip3 install psycopg2

我希望這對遇到同樣問題的人有所幫助,尤其是在將 Windows 操作系統切換到 Linux(Ubuntu)時。

好吧,這里的答案都沒有提到這一點,我花了一些時間在某個隨機網站上偶然發現了它。 請用:

pip3 install psycopg2

這是當您使用 Python 3.5 時,您可以通過在終端中運行 python -v 來檢查您的版本。

使用以下解決方案解決了該問題:

  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

嘗試:

pip install psycopg2 --force-reinstall --no-cache-dir

Python2 importerror 沒有名為 psycopg2 的模塊

pip install psycopg2-binary

需求已經滿足...

通過以下步驟解決:

sudo curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
sudo python get-pip.py
sudo python -m pip install psycopg2-binary
pip install psycopg-binary

上面的行幫助了我

這很簡單,不知道為什么有人提到這個用於 mac。

brew install postgresql

pip3 install psycopg2

簡單來說,psycopg2 要我們先安裝 postgres。

PS:別忘了點贊,這樣也可以幫助到其他人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM