Python 3 psycopy 2 설치 및 문제 해결 방법

4448 단어 Python3psycopy2
사전에 인터넷 을 한 바퀴 돌 았 는데 머리 가 커 졌 습 니 다.python 에 psycopg 2 를 설치 하 는 여러 가지 구덩이 와 여러 가지 번 거 로 움 을 보 았 습 니 다.여러 가지 성공 하지 못 했 습 니 다.오후 내 내 수색 을 했 더 니 아예 외출 하여 휴식 을 취 했다.저녁 식사 후에 도 psycopg 2 홈 페이지(http://initd.org/psycopg/docs/install.html)에 접속 해 인 스타 그램 에 관 한 자 료 를 보 니 귀 찮 았 다.마지막 으로 이 그물(https://pypi.python.org/pypi/psycopg2/)위,wheel 방식 으로 설치 하려 고 합 니 다.
그러나 이 홈 페이지 에서 갑자기 한 마디 를 힐 끔 보 았 다.

pip 버 전이 wheel 패 키 지 를 지원 한다 면 pip 명령 만 사용 하면 모든 의존 항목 을 포함 한 바 이 너 리 Psycopg 버 전 을 설치 할 수 있 습 니 다.마음속 으로 몰래 기뻐 하 다.
그러나 내 windows 7 에 설 치 된 python 은 환경 변 수 를 설정 하지 않 았 고 Anaconda 아래 의 spyder 그래 픽 프로 그래 밍 인터페이스 를 사용 해 왔 기 때문에 명령 행 에서 python 을 직접 사용 할 수 없습니다.현재 환경 변수의 path 에"C:\Users\Tom\Anaconda 3"를 추가 합 니 다.이것 은 Anaconda 3 가 컴퓨터 에 설치 한 디 렉 터 리 입 니 다.(제 python 은 Anaconda 를 통 해 설치 되 었 기 때 문 입 니 다.)이후 명령 행 에서 pip 를 실행 하 였 으 나,발견 되 지 않 았 습 니 다.보 니 pip 는 Anaconda 폴 더 아래 에 있 는 Scripts 폴 더 아래 에 있 습 니 다.그래서 환경 변수 에"C:\Users\Tom\Anaconda 3\\Scripts"를 추가 하면 명령 줄 에서 pip 명령 을 실행 할 수 있 습 니 다.




이로써 psycopg 2 가 성공 적 으로 설치 되 었 습 니 다.
spyder 에서 python 프로그램 이 PostgreSQL 데이터 베 이 스 를 조작 하 는 코드 와 실행 결 과 를 살 펴 보 겠 습 니 다.

        상기 python 코드 는 articles 데이터베이스 에 연결 되 어 있 으 며,그 중에서 Urls 라 는 데이터 시트 를 만 들 었 습 니 다.이 표 는 2 개의 필드 가 있 고,첫 번 째 는 필드 ID 이 며,두 번 째 는 필드 URL 입 니 다.pgAdmin 4 를 열 었 습 니 다.그 중에서 articles 데이터베이스 에 Urls 데이터 시트 가 나 타 났 고 방금 만 든 두 필드 를 포함 하고 있 습 니 다.다음 표 참조:

 
------------------------------------------------------------------------------------
Anaconda 패 키 지 를 사용 하지 않 고 직접 사용 하 는 Python.org 홈 페이지 의 패 키 지 는 설치 가 완료 되면 pip.exe 파일 이 없습니다.python 창 에서 다음 명령 을 따로 실행 한 다음 Scripts 폴 더 에서 방금 생산 된 pip 파일 을 볼 수 있 습 니 다.


 
pip 3 파일 은 최신 버 전이 아 닙 니 다.직접 다운로드 하 는 중 오류 가 발생 할 수 있 습 니 다.pip 를 먼저 업데이트 해 야 합 니 다.하지만 업데이트 과정 에서 오류 가 발생 할 수 있 습 니 다.몇 번 더 시도 하면 성공 할 것 입 니 다.
업데이트 후 원래 의 방법 에 따라 다운로드 할 수 있 습 니 다.
내용 확장:
Python―psycopy 2 를 사용 하여 PostgreSQL 을 조작 합 니 다.
Psycopg 2 는 DB API 2.0 프로 토 콜 을 구현 한 다른 데이터베이스 사용자 와 거의 일치 합 니 다.특수 문 자 를 포함 하 는 SQL 문 구 를 실행 할 때 검색 자리 표시 자 를 채 우 는 데 데 데 이 터 를 전달 하여 Psycopg 이 올 바른 변환 을 수행 하도록 합 니 다(더 이상 SQL 주입 이 없습니다)

# encoding: utf-8
__author__ = 'chenlong'
 
import psycopg2
from config import ConfigServer
 
class PGSQLdb:
  def __init__(self):
    self.tryconnect()
 
  def tryconnect(self):
    #       
    self.con=psycopg2.connect(database = ConfigServer['pg_db'],
           user = ConfigServer['pg_user'],
           password = ConfigServer['pg_pass'],
              host= ConfigServer['pg_host'],
              port = ConfigServer['pg_port'])
 
    #       ,         
    self.cur=self.con.cursor()
 
  def tryexecute(self,sqlstr):
    #     
    self.cur.execute(sqlstr)
    #           
    self.con.commit()
 
 
  def tryexecute2(self,sqlstr,data):
      #              ,  Psycopg       (   SQL  )
      #      :      SQL  , :"INSERT INTO test (num, data) VALUES (%s, %s)"
      #      :        , : (100, "abc'def")
      self.cur.execute(sqlstr,data)
      self.con.commit()
 
  def tryclose(self):
    #     
    self.cur.close()
    #     
    self.con.close()

좋은 웹페이지 즐겨찾기