Python学习:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 的解决方案

问题的发现

使用的操作系统(Win10)是64bit的,但是装的 office365是32bit的。之前学习Python装的是64bit的Python 3.7, 今天在试验写数据到Access数据库时,发现无论是win32com.client还是pyodbc,都会提示错误: [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

首先检查Microsoft Access Database Engine, 在微软官网上下载了对应的安装程序 https://www.microsoft.com/en-us/download/details.aspx?id=13255 ,相当然下了64bit,安装时提示office是32bit的, 不能安装。于是重新下载了32bit的并安装成功。但是运行python程序时仍然提示错误。 于是尝试了用pyodbc, 结果有同样的问题。
这时忽然意识到问题可能出在Python版本上。于是决定在电脑上也安装32bit的Python来试试。

同时安装32bit和64bit的Python

安装Python

安装Python比较简单,为了容易区分,特意下了一个不同版本的32bit的Python (3.8), 安装时自动安装到一个新目录里去了。如果32bit和64bit是同一个版本,则在安装时要看已指定安装目录。

安装新 Python的库

安装好32bit的Python后,需要安装对应的32bit的库. 因为两个版本的Python很多程序名是一样的,操作很不方便。所以做以下调整:

重命名关键程序

把以下程序改名:

目录(默认安装)文件名(Before)文件名(After)备注
Python\Python37Python.exePython_64.exe原文件保留, 复制一份并改名
Python\Python37pythonw.exepythonw_64.exe直接改名
Python\Python37\Scriptspip.exepip_64.exe直接改名
Python\Python37\Scriptspip3.exepip3_64.exe直接改名
Python\Python38-32Python.exePython_32.exe原文件保留, 复制一份并改名
Python\Python38-32pythonw.exepythonw_32.exe直接改名
Python\Python38-32\Scriptspip.exepip_32.exe直接改名
Python\Python38-32\Scriptspip3.exepip3_32.exe直接改名

出来的效果如图所示:
在这里插入图片描述
在这里插入图片描述
32bit下的类似。实际命名可以自由决定。
这里参考了如下博文的做法: https://blog.csdn.net/njgwbn/article/details/80109399

将新安装的Python加入环境变量

如果在安装Python时,没有选择添加环境变量,则需要设置。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
将新安装的Python目录(两个), 添加到Path环境变量中去

安装32bit下的库

经过以上处理,在PyCharm的Terminal里,还是不能直接运行pip3_32 install … 来安装库。可能是需要另设环境变量,不折腾了,直接在cmd 里做就行了.
在这里插入图片描述

问题成功解决!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值