uv与conda环境冲突,无法使用uv环境,安装包之后出现ModuleNotFoundError: No module named ‘xxx‘等解决方法

发布于:2025-08-06 ⋅ 阅读:(20) ⋅ 点赞:(0)

问题发现

在使用uv创建环境之后,发现pip list的列表依然是base环境里的,uv创建的环境无法识别
创建环境之后,发现依然有base样式,说明依然在conda环境中
首先退出conda环境conda deactivate
退出之后,进入环境.\.venv\Scripts\activate ,再用pip list发现依然是base目录的pip包

检查位置

这个时候首先检查python和pip的位置分别在哪里
Get-Command python
Get-Command pip

CommandType     Name         Version    Source
-----------     ----         -------    ------
Application     python.exe   3.12.3.0   D:\Computer\.venv\Scripts\python.exe
Application     pip.exe      24.0.0.0   D:\Computer\Anaconda\Anaconda\Scripts\pip.exe

发现source两个的指向不相同

然后因为我的python在正确的环境中了,当我调用python -m pip list的时候,却显示不存在pip
我查看目录发现却是不存在,难道是uv的问题吗?

查看uv

发现uv包的lib文件夹不存在pip包,也就是不知道什么原因,pip不见了
这个时候怀疑uv和conda冲突问题,但是选择另外一种方式

转变方向

我们使用python创建veuv

python -m venv .venv

再使用
pyhthon -m pip list

(.venv) PS D:\Computer\脚本\CSDN> pip list
Package Version
------- -------
pip     24.0

[notice] A new release of pip is available: 24.0 -> 25.2
[notice] To update, run: python.exe -m pip install --upgrade pip

可以显示,说明是uv和conda冲突,python本身没有问题
所以再创建环境之前,需要首先解除conda环境的影响,而不是再conda中使用uv

问题解析

这通常是由于 Anaconda 在安装时,将其路径(如 D:\Computer\Anaconda\Anaconda\Scripts)添加到了你 Windows 系统的全局 PATH 环境变量中。
当你运行.\.venv\Scripts\activate时,这个激活脚本会尝试把你虚拟环境的 Scripts 目录临时添加到当前终端会话的 PATH 变量的最前面。理论上,此时当你输入 pip,系统应该会首先在 .venv\Scripts 里找到它。
但从结果来看,Anaconda 的路径优先级更高,或者因为某些 PowerShell 的配置,导致系统仍然找到了 Anaconda 的 pip。


网站公告

今日签到

点亮在社区的每一天
去签到