问题的发现
使用的操作系统(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\Python37 | Python.exe | Python_64.exe | 原文件保留, 复制一份并改名 |
Python\Python37 | pythonw.exe | pythonw_64.exe | 直接改名 |
Python\Python37\Scripts | pip.exe | pip_64.exe | 直接改名 |
Python\Python37\Scripts | pip3.exe | pip3_64.exe | 直接改名 |
Python\Python38-32 | Python.exe | Python_32.exe | 原文件保留, 复制一份并改名 |
Python\Python38-32 | pythonw.exe | pythonw_32.exe | 直接改名 |
Python\Python38-32\Scripts | pip.exe | pip_32.exe | 直接改名 |
Python\Python38-32\Scripts | pip3.exe | pip3_32.exe | 直接改名 |
出来的效果如图所示:
32bit下的类似。实际命名可以自由决定。
这里参考了如下博文的做法: https://blog.csdn.net/njgwbn/article/details/80109399
将新安装的Python加入环境变量
如果在安装Python时,没有选择添加环境变量,则需要设置。
将新安装的Python目录(两个), 添加到Path环境变量中去文章来源:https://www.toymoban.com/news/detail-442406.html
安装32bit下的库
经过以上处理,在PyCharm的Terminal里,还是不能直接运行pip3_32 install … 来安装库。可能是需要另设环境变量,不折腾了,直接在cmd 里做就行了.
文章来源地址https://www.toymoban.com/news/detail-442406.html
问题成功解决!
到了这里,关于Python学习:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!