Python中安装mysqlclient、cx_Oracle遇到的问题
python 连接MySQL数据库
python 连接MySQL数据库需要安装 mysqlclient ,但是在安装该包时出现这样的报错:
error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
解决问题的记录如下:
方法1:
通过分析报错原因,发现真正的报错原因是没有安装 msgpack .
解决办法:去这个网站下载 msgpack 的 whl 包
cp之后表示 Python 的版本,win 之后表示系统是32或者64位,需要保持与使用的机器一致,然后下载下载对应的 mysqlclient 的 whl 包,使用pip install XXX(下载的.whl包)
方法2:
因为提示需要 c++ 14.0,下载14.0.
1 在此处下载c++ 14.0,也可以通过[这个工具](链接: https://pan.baidu.com/s/1ls_YndgahVzBxnG6jsYsEQ 提取码: m8gi)安装。
2 安装可能比较花时间,且占用空间较大,
3 安装完毕再次执行pip install xx
Python 连接Oracle数据库
Python 连接 oracle 数据库需要安装 cx_Oracle 与 oracle 客户端,详细的解决办法参考这篇博文。
可以通过 pip install cx_Oracle 安装,也可以在上述网址直接下载 .whl 文件安装,但 whl 文件需要配置与所连接 oracle 的版本匹配,安装完成之后还需要安装oracle instant 客户端。
可以到 oracle 官网下载,版本与系统的版本保持一致。本文以 oracle11 为例进行说明:
下载完成之后解压,把所有的 *.dll 文件拷到 pyhton 所在安装目录下的 Lib\site-packages 目录下。
Python 利用cx_Oracle 的中文乱码问题
1 查看读取文件的编码格式
需要安装 chardet 包,需要用 mode=‘rb’格式进行读操作,才能利用 chardet.detect() 查看编码格式类型。
Python 查询或插入中文乱码
Python 利用 cx_Oracle 查询中文的时候显示乱码或插入数据的时候提示编码不对,报错如下:
这种情况是 Python 的编码格式与 oracle 的编码格式不一致,如下:
解决方式如下:
在windows下新增系统变量: NLS_LANG,设置值为: AMERICAN_AMERICA.AL32UTF8。设置完成之后需要重启Python。
具体的可以参考文章(https://blog.youkuaiyun.com/qq_40546896/article/details/80451985)