<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用 psycopg2 時(shí)遇到的兩個(gè)坑

          共 1068字,需瀏覽 3分鐘

           ·

          2021-10-18 10:14

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

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

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

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

          為啥不直接從源代碼安裝,因?yàn)榭偸菆?bào) pg_config ?not found 之類的錯(cuò)誤,而生產(chǎn)環(huán)境,安裝一個(gè) postgresql-lib 是相當(dāng)麻煩的。

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

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

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

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

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

          方法一:

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

          方法一在執(zhí)行 import psycopg2.extras 時(shí)報(bào)錯(cuò),方法二沒有。

          方法二:

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

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

          最后的話

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


          瀏覽 70
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自拍偷拍影音先锋 | 国产成人无码区免费视频 | 欧美成人一区三区无码乱码A片 | 精品无码内射 | 手机在线观看小视频 |