python 切换版本后 提示 无法在python 3.11(.venv)(D:/my_rag_bot/.venv/Scripts/python.exe)设置 python sdk,该sdk似乎无效
是这样的,我刚开始下载的是最新的3.14版本的python的版本,但是跑大模型 demo时候要用到 chromadb 的三方库,可是一直提示我下载失败,问了通义千问,说是我的python版本过高,建议更新到3.11.9或者3.12的版本。于是 我就卸载了3.14同时去官网下载了3.11.9的版本。下载安装后,我再重新打开pycharm 就一直提示我 这个了 ,SDK版本无效。
解决了好几个小时,最终发现是我新安装的版本后,我会在我自己的盘符 比如D盘,创建一个 新的虚拟环境 ,比如 在cmd命令行下
D:\> mkdir test_sdk D:\> cd test_sdk D:\test_sdk> "C:\Users\EDY\AppData\Local\Programs\Python\Python311\python.exe" -m venv venv
在我创建的D:\test_sdk\venv 目录下,默认的 pyvenv.cfg 内容里面多了两行
home = C:\Users\EDY\AppData\Local\Programs\Python\Python311 include-system-site-packages = false version = 3.11.9 executable = C:\Users\EDY\AppData\Local\Programs\Python\Python311\python.exe command = C:\Users\EDY\AppData\Local\Programs\Python\Python311\python.exe -m venv D:\test_sdk\venv
executable 和 command 是不应该有的,这个通过在cmd命令下输入命令
venv\Scripts\python.exe -S -E -c "import sys; print(sys.prefix); print(sys.executable)"
按说应该是我当前创建的
D:\test_sdk\venv\Scripts\python.exe 这个目录,但是输入后是:
C:\Users\EDY\AppData\Local\Programs\Python\Python311
,需要把executable 和 command 这两个参数去掉才行。
为什么会出现这个问题? 通义千问给的答案是:
为什么会出现 executable 字段?
这通常发生在:
- 使用了 非官方 Python 构建(如某些第三方发行版)
- 或 Python 安装过程中 venv 模块被修改过
- 或 极少数情况下,Windows 权限导致写入异常
但无论如何,标准 Python 的 venv 不会写入 executable 字段。
Python 虚拟环境在某些安装环境下会悄悄写入非标准字段(比如 executable),而 PyCharm 又特别严格,导致明明能运行的环境却被拒之门外。
搞了快一下午。。。。

浙公网安备 33010602011771号