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

 更新时间:2019年07月03日 10:24:37   作者:str999_cn  
在本篇文章里小编给各位分享的是关于Python3如何安装psycopy2以及相关问题解决方法,需要的朋友们学习下。

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

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

翻译过来就是:“如果你的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命令了。

至此,psycopg2成功安装。

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

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

 

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

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

 

注意,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数据可视化之使用matplotlib绘制简单图表

    Python数据可视化之使用matplotlib绘制简单图表

    这篇文章主要为大家详细介绍了使用matplotlib绘制简单图表的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 利用Python编写一个Windows桌面小组件

    利用Python编写一个Windows桌面小组件

    这篇文章主要为大家详细介绍了如何让ChatGPT按要求编写Python代码实现一个Windows桌面小组件,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-06-06
  • Mysql数据库反向生成Django里面的models指令方式

    Mysql数据库反向生成Django里面的models指令方式

    这篇文章主要介绍了Mysql数据库反向生成Django里面的models指令方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python使用 cx_Oracle 模块进行查询操作示例

    python使用 cx_Oracle 模块进行查询操作示例

    这篇文章主要介绍了python使用 cx_Oracle 模块进行查询操作,结合实例形式分析了Python使用cx_Oracle模块进行数据库的基本连接、查询、输出等相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • Python中zipfile压缩文件模块的基本使用教程

    Python中zipfile压缩文件模块的基本使用教程

    这篇文章主要给大家介绍了关于Python中zipfile压缩文件模块的基本使用教程,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • 人工智能—Python实现线性回归

    人工智能—Python实现线性回归

    这篇文章主要介绍了人工智能—Python实现线性回归,人工智能分为类型、数据集、效果评估、等,线性回归根据随机初始化的 w x b 和 y 来计算 loss等步骤实现,下面来看看文章的具体实现吧
    2022-01-01
  • python文件绝对路径写法介绍(windows)

    python文件绝对路径写法介绍(windows)

    今天小编就为大家分享一篇python文件绝对路径写法介绍(windows),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python Django教程之模型中字段验证详解

    Python Django教程之模型中字段验证详解

    这篇文章主要为大家详细介绍了Python Django如何对模型中的字段进行验证,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以了解一下
    2022-10-10
  • python OpenCV实现答题卡识别判卷

    python OpenCV实现答题卡识别判卷

    这篇文章主要为大家详细介绍了python OpenCV实现答题卡识别判卷,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • OpenCV 轮廓检测的实现方法

    OpenCV 轮廓检测的实现方法

    这篇文章主要介绍了OpenCV 轮廓检测的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论