Spyder中找不到名为'pyodbc'的模块。

6

我正尝试使用SQL连接设置脚本,但遇到以下错误:

ModuleNotFoundError: 找不到名为'pyodbc'的模块

从以下行开始:

import pyodbc

我正在使用Python 3.9.2和Spyder版本4.2.3。升级到最新的Spyder版本5.0.1后,问题没有解决。
奇怪的是,我在命令行中导入模块没有任何问题,只有当我通过Spyder运行它时才会出现这个问题。
通常情况下,根据我所读的内容,这可能是多个环境的情况,但我还没有设置任何环境,因此只有一个Python安装。
我还正确将site-packages文件夹添加到路径中,我甚至将pyodbc文件移动到自己的目录中并将其添加到路径中也是如此。
我已经复制并粘贴了文件到Spyder的包目录中,但仍未解决该问题。
唯一我能想到的就是:
https://istack.dev59.com/zMKB3.webp 这表明Spyder正在使用Python 3.7.9作为其解释器而不是我实际安装的版本?
您有什么想法吗?
3个回答

1
感谢Ewran的帮助。
当我更改解释器时,它给了我一个错误消息,要求我更新spyder-kernels,似乎已经解决了这个问题。
为了总结给其他人:
1). 确保您有到C:\Users\\AppData\Local\Programs\Python\Python39\Lib\site-packages的路径。
2). 确保您正在将模块安装到正确的环境中。
3). 确保Spyder正在使用正确的解释器,指向所需的python.exe并在需要时更新Spyder的内核。

0
如果您对Spyder使用的Python 3.7.9没有问题,您可以在Spyder的控制台中直接输入!pip install pyodbc来安装pyodbc
然后,导入应该就可以正常工作了。

它欣然接受了命令,将其正确安装在可由命令行使用的表单中,尽管问题仍然存在。当我将文件放入包文件夹时,它说要求已满足,但是在删除它们后它并没有获取这些包,尽管它正常安装了pyodbc。此时,我很想不在spyder中运行程序。 - Scott
1
你可以尝试在Spyder中更改Python解释器(例如按照此链接所示:https://dev59.com/hFcP5IYBdhLWcg3w8uZi),将其指向Python 3.9.2,这是您成功使用pyodbc的版本。 - Ewran
有可能Spyder尝试解释它的方式与我实际安装的Python版本不匹配吗?当我尝试更改解释器指向我的实际python.exe时,它并不喜欢它。 - Scott

0

我在使用pip安装时遇到了完全相同的问题,但是在卡住一段时间后,我记起以管理员身份运行CMD经常能解决问题——果然如此


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接