Windows 11命令行导入ibm_db模块提示ModuleNotFoundError但PyCharm终端正常的问题咨询
Windows 11命令行导入ibm_db模块提示ModuleNotFoundError但PyCharm终端正常的问题咨询
我目前在用Windows 11系统,搭配Python 3.13.2版本,已经装好了IBM DB2客户端,也配置了对应的环境变量:
C:\Users\przyt>echo %IBM_DB_HOME% c:\Program Files\IBM\SQLLIB
之后我安装了ibm_db库,版本和安装位置如下:
Name: ibm_db Version: 3.2.6 Location: C:\Users\przyt\PycharmProjects\PythonProject\.venv\Lib\site-packages
在PyCharm的终端里执行以下操作完全没问题:
>>> import os >>> os.add_dll_directory('C:\\Users\\przyt\\PycharmProjects\\PythonProject\\.venv\\Lib\\site-packages\\clidriver\\bin') <AddedDllDirectory('C:\\Users\\przyt\\PycharmProjects\\PythonProject\\.venv\\Lib\\site-packages\\clidriver\\bin')> >>> import ibm_db >>> quit
但换到普通的命令提示符窗口里做同样的步骤,却出现了模块找不到的错误:
C:\Users\przyt>py Python 3.13.2 (tags/v3.13.2:4f8bb39, Feb 4 2025, 15:23:48) [MSC v.1942 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.add_dll_directory('C:\\Users\\przyt\\PycharmProjects\\PythonProject\\.venv\\Lib\\site-packages\\clidriver\\bin') <AddedDllDirectory('C:\\Users\\przyt\\PycharmProjects\\PythonProject\\.venv\\Lib\\site-packages\\clidriver\\bin')> >>> import ibm_db Traceback (most recent call last): File "<python-input-2>", line 1, in <module> import ibm_db ModuleNotFoundError: No module named 'ibm_db' >>> quit
想请教大家,有没有什么设置能让普通命令行和PyCharm终端有一样的运行效果?是不是得指定项目路径才能找到ibm_db模块的位置?
补充说明:
我的Python原本装在C:\Users\przyt\AppData\Local\Programs\Python\Python313\python.exe,安装PyCharm的时候它识别到了这个路径,然后创建了.venv虚拟环境,这个环境里也有一个python.exe。在PyCharm的设置里能看到,基础Python就是这个.venv虚拟环境,路径指向C:\Users\przyt\PycharmProjects\PythonProject\.venv\Scripts\python.exe,sys.executable也指向这个位置。
现在我发现如果用虚拟环境里的Python来导入ibm_db就完全正常,我想搞清楚这个虚拟环境里的Python是完整的副本还是只是虚拟的?另外我还需要保留原来安装的那个Python吗?
麻烦大家帮忙解答啦!
Guy
备注:内容来源于stack exchange,提问作者Guy Przytula
相关产品推荐
相关产品推荐

