使用终端的pip安装Python包时,总是安装到本地驱动器而不是项目的虚拟环境中

0 投票
2 回答
91 浏览
提问于 2025-04-14 16:48

目前,每当我尝试在Visual Studio Code的终端中通过pip命令安装Python包时,这些包都安装到了我的本地驱动器,而不是项目目录中创建的虚拟环境里。即使虚拟环境已经激活,问题依然存在。而且在Visual Studio Code窗口右下角查看时,虚拟环境也被选为解释器。

有没有人知道这是什么原因,或者我该如何更新设置,让包安装到虚拟环境的Lib/site-packages目录,而不是我的本地驱动器?我查阅了很多帖子,但没有找到解决我问题的方法。重新创建虚拟环境或升级pip都没有效果。我现在卡在这里了。

我尝试在系统上重新安装Python,看看是否能解决问题,但问题依旧。我不明白为什么Python包会安装到本地驱动器,而不是项目的虚拟环境里。我的猜测是,可能是因为在执行命令时使用的是本地驱动器上的pip版本,而不是虚拟环境中的pip,这导致包被安装到本地驱动器上?

非常感谢任何帮助!

2 个回答

1

我觉得这就是它应该工作的方式。你需要先激活虚拟环境,才能在里面安装软件包。你需要在 venv/Scripts/activate 这个路径下执行脚本(在Windows上,具体路径可能会有所不同),在Linux上也是类似的操作。

这确实设计得不太好,另外一个选择是使用现代的包管理工具,比如poetry,这样你就不需要激活任何东西了。还有一些最新的pip替代品,比如 uv,它默认情况下不会全局安装软件包。

1

activate.bat 这个文件只能在 cmd.exe 这个命令行工具中使用。

如果你在用 PowerShell 这个工具,就应该使用 activate.ps1。或者你也可以直接输入 activate,让系统自动选择合适的文件来运行。

撰写回答