欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3安裝psycopy2以及遇到問題解決方法

 更新時間:2019年07月03日 10:24:37   作者:str999_cn  
在本篇文章里小編給各位分享的是關于Python3如何安裝psycopy2以及相關問題解決方法,需要的朋友們學習下。

事先在網(wǎng)上搜索了一大圈,頭都大了,看到那么多文章寫道在python里安裝psycopg2的各種坑和各種麻煩,各種不成功。搜索了一下午,索性外出放松。晚飯后,又繼續(xù)上psycopg2官網(wǎng)(http://initd.org/psycopg/docs/install.html)看了一些有關install的資料,感覺還是麻煩。最后上這個網(wǎng)(https://pypi.python.org/pypi/psycopg2/)上,準備用wheel的方式進行安裝。

不過在此網(wǎng)頁上突然瞟到一句:

翻譯過來就是:“如果你的pip版本支持wheel包,那么可以僅僅允許pip命令即可安裝一個二進制的Psycopg版本,包括所有依賴項”。心中竊喜。

但是我windows7里安裝的python一直沒有設置環(huán)境變量,一直用的Anaconda下面的一個spyder圖形編程界面,所以在命令行下還不能直接使用python。現(xiàn)在首先在環(huán)境變量的path里添加“C:\Users\Tom\Anaconda3”,這個是Anaconda3在電腦里的安裝目錄(因為我的python是通過Anaconda安裝的)。之后在命令行運行pip,發(fā)現(xiàn)還是不行,查看后發(fā)現(xiàn)pip位于Anaconda文件夾下面的Scripts文件夾下。所以還要添加“C:\Users\Tom\Anaconda3\Scripts”到環(huán)境變量,之后就可以在命令行里運行pip命令了。

至此,psycopg2成功安裝。

再來看spyder中python程序操作PostgreSQL數(shù)據(jù)庫的代碼和運行結果:

        上述python代碼連接到articles數(shù)據(jù)庫,在其中創(chuàng)建了一個叫做Urls的數(shù)據(jù)表,該表有2個字段,第一個是字段ID,第二個是字段URL。我們打開pgAdmin4,在其中,發(fā)現(xiàn)articles數(shù)據(jù)庫里已經(jīng)出現(xiàn)了Urls數(shù)據(jù)表,且包含剛剛創(chuàng)建的2個字段。見下表:

 

------------------------------------------------------------------------------------

如果不采用Anaconda的安裝包,而直接使用的Python.org官網(wǎng)上的安裝包,安裝完成后是沒有pip.exe文件的。需要在python窗口另外執(zhí)行以下命令,然后在Scripts文件夾下即能看到剛剛生產(chǎn)的幾個pip文件。

 

注意,pip3文件不是最新版本,直接下載會出錯,需要對pip首先進行更新。但更新的過程中可能會出錯,連續(xù)多嘗試幾次,最后應該會成功。

更新之后,即可按照原先的方法進行下載了。

內(nèi)容擴展:

Python——使用psycopy2操作PostgreSQL

Psycopg2與其他實現(xiàn)了DB API 2.0協(xié)議的其他數(shù)據(jù)庫用戶基本一致。當執(zhí)行包含特殊字符的SQL語句的時候,傳遞數(shù)據(jù)用來填充查詢占位符, 讓Psycopg執(zhí)行正確的轉換(不再有SQL注入)

# encoding: utf-8
__author__ = 'chenlong'
 
import psycopg2
from config import ConfigServer
 
class PGSQLdb:
  def __init__(self):
    self.tryconnect()
 
  def tryconnect(self):
    # 連接到數(shù)據(jù)庫
    self.con=psycopg2.connect(database = ConfigServer['pg_db'],
           user = ConfigServer['pg_user'],
           password = ConfigServer['pg_pass'],
              host= ConfigServer['pg_host'],
              port = ConfigServer['pg_port'])
 
    # 打開一個光標,用來執(zhí)行數(shù)據(jù)庫操作
    self.cur=self.con.cursor()
 
  def tryexecute(self,sqlstr):
    # 執(zhí)行命令
    self.cur.execute(sqlstr)
    # 使改變永久存入數(shù)據(jù)庫
    self.con.commit()
 
 
  def tryexecute2(self,sqlstr,data):
      # 傳遞數(shù)據(jù)用來填充查詢占位符, 讓Psycopg執(zhí)行正確的轉換(不再有SQL注入)
      # 第一個參數(shù):包含占位符的SQL語句,如:"INSERT INTO test (num, data) VALUES (%s, %s)"
      # 第二個參數(shù):與占位符對應的值,如: (100, "abc'def")
      self.cur.execute(sqlstr,data)
      self.con.commit()
 
  def tryclose(self):
    # 關閉光標
    self.cur.close()
    # 關閉連接
    self.con.close()

相關文章

  • python 字符串常用函數(shù)詳解

    python 字符串常用函數(shù)詳解

    這篇文章主要介紹了python 字符串常用函數(shù),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Python-openCV讀RGB通道圖實例

    Python-openCV讀RGB通道圖實例

    今天小編就為大家分享一篇Python-openCV讀RGB通道圖實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • PyQt5響應回車事件的方法

    PyQt5響應回車事件的方法

    今天小編就為大家分享一篇PyQt5響應回車事件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實現(xiàn)一個論文下載器的過程

    Python實現(xiàn)一個論文下載器的過程

    這篇文章主要介紹了Python實現(xiàn)一個論文下載器的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python實現(xiàn)簡易的圖書管理系統(tǒng)

    Python實現(xiàn)簡易的圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現(xiàn)簡易的圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 如何使用Python基于接口編程的方法實現(xiàn)

    如何使用Python基于接口編程的方法實現(xiàn)

    本文主要介紹了如何使用Python基于接口編程,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 如何搜索查找并解決Django相關的問題

    如何搜索查找并解決Django相關的問題

    每個程序員都會在開發(fā)過程中遇到這樣或那樣的問題, 有時光靠一個人是無法解決所有問題的, 所以我們應該找到適當?shù)牡胤教釂?
    2014-06-06
  • 對Pyhon實現(xiàn)靜態(tài)變量全局變量的方法詳解

    對Pyhon實現(xiàn)靜態(tài)變量全局變量的方法詳解

    今天小編就為大家分享一篇對Pyhon實現(xiàn)靜態(tài)變量全局變量的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用wxPython和ECharts實現(xiàn)生成和保存HTML圖表

    使用wxPython和ECharts實現(xiàn)生成和保存HTML圖表

    wxPython是一個基于wxWidgets的Python?GUI庫,ECharts是一個用于數(shù)據(jù)可視化的JavaScript庫,本文主要為大家介紹了如何使用wxPython和ECharts庫來生成和保存HTML圖表,感興趣的可以學習一下
    2023-08-08
  • Python重新引入被覆蓋的自帶function

    Python重新引入被覆蓋的自帶function

    最近在寫python應用時遇到一個問題: 引入某個模塊時會自動引入自定義的int到python的namespace中, 從而覆蓋了python自帶的int function. 因為我們需要使用python的int, 所以不得不找到重新引入這int的方法.
    2014-07-07

最新評論