Python3安装psycopy2以及遇到问题解决方法


Posted in Python onJuly 03, 2019

事先在网上搜索了一大圈,头都大了,看到那么多文章写道在python里安装psycopg2的各种坑和各种麻烦,各种不成功。搜索了一下午,索性外出放松。晚饭后,又继续上psycopg2官网(http://initd.org/psycopg/docs/install.html)看了一些有关install的资料,感觉还是麻烦。最后上这个网(https://pypi.python.org/pypi/psycopg2/)上,准备用wheel的方式进行安装。

不过在此网页上突然瞟到一句:

Python3安装psycopy2以及遇到问题解决方法

翻译过来就是:“如果你的pip版本支持wheel包,那么可以仅仅允许pip命令即可安装一个二进制的Psycopg版本,包括所有依赖项”。心中窃喜。

但是我windows7里安装的python一直没有设置环境变量,一直用的Anaconda下面的一个spyder图形编程界面,所以在命令行下还不能直接使用python。现在首先在环境变量的path里添加“C:\Users\Tom\Anaconda3”,这个是Anaconda3在电脑里的安装目录(因为我的python是通过Anaconda安装的)。之后在命令行运行pip,发现还是不行,查看后发现pip位于Anaconda文件夹下面的Scripts文件夹下。所以还要添加“C:\Users\Tom\Anaconda3\Scripts”到环境变量,之后就可以在命令行里运行pip命令了。

Python3安装psycopy2以及遇到问题解决方法

Python3安装psycopy2以及遇到问题解决方法

Python3安装psycopy2以及遇到问题解决方法

Python3安装psycopy2以及遇到问题解决方法

至此,psycopg2成功安装。

再来看spyder中python程序操作PostgreSQL数据库的代码和运行结果:

Python3安装psycopy2以及遇到问题解决方法

        上述python代码连接到articles数据库,在其中创建了一个叫做Urls的数据表,该表有2个字段,第一个是字段ID,第二个是字段URL。我们打开pgAdmin4,在其中,发现articles数据库里已经出现了Urls数据表,且包含刚刚创建的2个字段。见下表:

Python3安装psycopy2以及遇到问题解决方法

 

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

如果不采用Anaconda的安装包,而直接使用的Python.org官网上的安装包,安装完成后是没有pip.exe文件的。需要在python窗口另外执行以下命令,然后在Scripts文件夹下即能看到刚刚生产的几个pip文件。

Python3安装psycopy2以及遇到问题解决方法

Python3安装psycopy2以及遇到问题解决方法

 Python3安装psycopy2以及遇到问题解决方法

注意,pip3文件不是最新版本,直接下载会出错,需要对pip首先进行更新。但更新的过程中可能会出错,连续多尝试几次,最后应该会成功。

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

内容扩展:

Python——使用psycopy2操作PostgreSQL

Psycopg2与其他实现了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()
Python 相关文章推荐
Python通过websocket与js客户端通信示例分析
Jun 25 Python
用python写的一个wordpress的采集程序
Feb 27 Python
解析Python中的生成器及其与迭代器的差异
Jun 20 Python
python的mysqldb安装步骤详解
Aug 14 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
Python3处理HTTP请求的实例
May 10 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
Python中的引用知识点总结
May 20 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
python如何对链表操作
Oct 10 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
python调试神器PySnooper的使用
Jul 03 #Python
详解DeBug Python神级工具PySnooper
Jul 03 #Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 #Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 #Python
在cmd中查看python的安装路径方法
Jul 03 #Python
python动态进度条的实现代码
Jul 03 #Python
OpenCV 轮廓检测的实现方法
Jul 03 #Python
You might like
杏林同学录(三)
2006/10/09 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
微信小程序生成二维码的示例代码
2019/03/29 Javascript
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
Python入门之后再看点什么好?
2018/03/05 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
晚会邀请函范文
2014/01/24 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
生态养殖创业计划书
2014/05/06 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
企业2014年度工作总结
2014/12/10 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
goland 设置project gopath的操作
2021/05/06 Golang
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫