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 又特别严格,导致明明能运行的环境却被拒之门外。

 搞了快一下午。。。。

 
posted @ 2025-12-31 16:47  Doyourself!  阅读(60)  评论(0)    收藏  举报