自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用 Psycopg2 時遇到的兩個坑

開發(fā) 前端
我在使用 psycopg2-binary 遇到兩個坑,寫出來,看看你是否踩過,如果沒有,可以看一下,以后避免跳坑。

[[429010]]

我在使用 psycopg2-binary 遇到兩個坑,寫出來,看看你是否踩過,如果沒有,可以看一下,以后避免跳坑。

坑1. 盡可能不要使用 psycopg2-binary

官方文檔說了,psycopg2-binary 不需要編譯,可以認為是綠色版,是為了初學者用 Python 快速和 PostgreSQL 進行連接而用的, 如果你在 pypi 上發(fā)包,也不應該依賴 psycopg2-binary,應該直接依賴 psycopg2。

我沒聽,直接在生產(chǎn)環(huán)境用了 psycopg2-binary,版本 2.7.5 ,結(jié)果就中招了,在使用 server-side-cursor (named cursor)的時候,經(jīng)常出現(xiàn)讀數(shù)據(jù)庫卡住不動的情況,懷疑跟這個版本的 bug 有關(guān)系。

為啥不直接從源代碼安裝,因為總是報 pg_config not found 之類的錯誤,而生產(chǎn)環(huán)境,安裝一個 postgresql-lib 是相當麻煩的。

我想這也是 python 的缺點之一,依賴的包很多需要編譯,而編譯就會出現(xiàn)缺少各種各樣的包的問題,這樣就不能稱之為跨平臺了,我在 mac 上寫好,弄到 linux 上,還得折騰一大堆,java 這一點就很好。

最后怎么解決的呢,升級到最新版本的 psycopg2-binary 就解決了,如果再出現(xiàn),只能老老實實安裝 postgresql-lib。

坑2. 盡可能不要 pip install whl 文件

這次我離線下載了 psycopg2-binary 的文件,psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl

我分別試了兩種方法,第二種成功:

方法一:

  1. pip install psycopg2_binary-2.8.6-cp36-cp36m-manylinux1_x86_64.whl 

方法一在執(zhí)行 import psycopg2.extras 時報錯,方法二沒有。

方法二:

  1. pip install psycopg2-binary --no-index -f ./ 

足以說明,使用 pip 最好還是聯(lián)網(wǎng)環(huán)境。

最后的話 

在使用開源軟件包時,一定要看下官方文檔的說明,尤其那些注意事項,這樣就可以節(jié)省很多排錯時間。

 

責任編輯:武曉燕 來源: Python七號
相關(guān)推薦

2010-07-13 10:56:43

Perl print

2021-01-13 09:14:00

緩存穿透RPC

2013-05-13 10:03:04

git

2018-02-07 11:15:07

Vagrant使用問題

2013-06-19 09:49:28

編程學習

2012-09-20 09:24:36

編程學習編程開發(fā)

2010-03-05 16:03:30

Python連接數(shù)據(jù)庫

2017-07-14 09:29:45

AndroidWebview

2018-07-16 14:23:30

代碼Android問題

2023-03-14 07:23:48

ReactJSX語法

2020-06-22 07:23:57

Kubernetes容器開發(fā)

2011-07-19 10:49:34

FCoEiSCSI以太網(wǎng)

2021-05-07 08:03:05

JS動態(tài)合并

2025-03-25 09:09:16

2022-06-17 09:46:51

Chrome 102Chrome瀏覽器

2024-09-09 08:02:27

2017-08-01 05:44:10

Dockerweave虛擬機

2009-07-15 18:29:22

Jython應用

2024-04-10 08:39:56

BigDecimal浮點數(shù)二進制

2010-07-02 12:26:51

LEACH協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號