conda本地创建的虚拟环境使用pip安装一些包总是安装到base环境中,导致无法正确进行环境隔离,下面是一些解决办法
方法一、使用python -m pip安装
1.1、验证虚拟环境的pip版本是哪个版本,如下所示,本人的demo虚拟环境直接使用pip --version版本显示的是anaconda/lib/slite-packages下面的
bash
E:\test>conda activate demo
(demo) E:\test>pip --version
pip 21.2.4 from D:\Anaconda3\lib\site-packages\pip (python 3.9)
1.2、使用python -m pip --version显示的是anaconda/envs/demo/lib/slite-packages下面的
bash
(demo) E:\test>python -m pip --version
pip 24.2 from D:\Anaconda3\envs\demo\lib\site-packages\pip (python 3.9)
1.3、在虚拟环境中使用python -m pip install来安装你需要的package包
bash
(demo) E:\test>python -m pip install your_packages
方法二、使用pip的绝对路径来安装package包
2.1、虚拟环境中的pip路径是Anaconda3\envs\demo\Scripts\pip.exe,pip后面跟着--target可以强制其安装的包的安装路径,如下所示
bash
"D:/Anaconda3/envs/demo/Scripts/pip.exe" install opencv-python --target
"D:/Anaconda3/envs/demo/Lib/site-packages"
2.2、下面是本人使用绝对路径下载opencv-python包的过程
其中-i意思是临时使用下载源的意思
bash
(demo) E:\test>"D:/Anaconda3/envs/demo/Scripts/pip.exe" install opencv-python --target "D:/Anaconda3/envs/demo/Lib/site-packages" -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting opencv-python
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ec/6c/fab8113424af5049f85717e8e527ca3773299a3c6b02506e66436e19874f/opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl (38.8 MB)
---------------------------------------- 38.8/38.8 MB 25.2 MB/s eta 0:00:00
Collecting numpy>=1.17.0 (from opencv-python)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl (15.9 MB)
---------------------------------------- 15.9/15.9 MB 22.7 MB/s eta 0:00:00
Installing collected packages: numpy, opencv-python
Successfully installed numpy-2.0.2 opencv-python-4.10.0.84
(demo) E:\test>"D:/Anaconda3/envs/demo/Scripts/pip.exe" list
Package Version
------------- ---------
numpy 2.0.2
opencv-python 4.10.0.84
pip 24.2
setuptools 75.1.0
wheel 0.44.0
(demo) E:\test>
方法三、创建虚拟环境的使用跟着--copy和python=需要的python版本命令
3.1、如下是本人创建一个python=3.9.0版本的虚拟环境,命令
bash
E:\test>conda create -n test --copy python=3.9.0##使用--copy复制一份包,python=后面填写自己需要的python版本
3.2、本人测试在虚拟环境中默认启动版本,如下所示,说明--copy和指定python版本使得默认pip就是虚拟环境里面的pip路径
bash
E:\test>conda activate test
(test) E:\test>pip --version
pip 24.2 from D:\Anaconda3\envs\test\lib\site-packages\pip (python 3.9)
(test) E:\test>python -m pip --version
pip 24.2 from D:\Anaconda3\envs\test\lib\site-packages\pip (python 3.9)
方法四:查看系统中有没有相关的python路径
4.1、在系统环境变量里面查看有没有各种相关的python变量,将其删掉
例如:删除系统变量中的 PYTHONHOME
4.2、将虚拟环境的Lib/site-package的路径 添加至系统变量Path中,本方法不推荐,因为创建其他虚拟环境会干扰其他虚拟环境里默认查找路径
参考:
https://blog.csdn.net/qq_50891451/article/details/134837919
https://blog.csdn.net/zy1183747231/article/details/129271625