激活虚拟环境后pip安装的库无法被Python识别的问题求助
问题描述
我在VSCode的终端里已经激活了名为my_venv的虚拟环境(终端左侧显示(my_venv)),但输入which python后,输出的却是系统默认的Python路径:
C:\Users\erjan\AppData\Local\Programs\Python\Python311\python.exe
随后我用pip install transformers安装了transformers库,但运行以下代码时依旧报错,提示找不到这个库:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("summarization", model="facebook/bart-large-cnn")
请问该如何解决这个问题?
解决方案
别担心,这个问题很常见,核心原因是VSCode实际使用的Python解释器和终端激活的虚拟环境没对应上,或者终端的python/pip命令没指向虚拟环境版本,试试下面的步骤:
检查VSCode的Python解释器配置:
看VSCode左下角状态栏显示的Python版本,点击它会弹出解释器选择列表,找到你my_venv虚拟环境里的Python(路径应该是类似[你的项目路径]/my_venv/Scripts/python.exe)并选中。这一步是关键,VSCode的运行环境和终端环境有时候会出现不一致的情况。确认终端中的
pip是否属于虚拟环境:
在激活(my_venv)的终端里输入which pip,如果输出的路径不是虚拟环境Scripts文件夹下的pip.exe,说明虚拟环境激活可能没生效,或者终端存在缓存。可以先输入deactivate退出当前环境,再重新执行.\my_venv\Scripts\activate(Windows系统)来激活虚拟环境。直接用虚拟环境的
pip安装库:
如果上面的步骤还是没解决问题,直接指定虚拟环境的pip路径来安装库,比如:C:\[你的项目路径]\my_venv\Scripts\pip.exe install transformers这样能确保库被安装到虚拟环境的目录下。
重启VSCode:
有时候VSCode的缓存会导致环境识别异常,重启后再重新激活虚拟环境、选择正确的解释器,大概率能解决问题。
备注:内容来源于stack exchange,提问作者ERJAN




