一句话说完,在conda的虚拟环境里面conda install一定是装在这个虚拟环境下, pip install不一定,需要使用which pip来判断使用的是哪个pip。
完全隔离开的环境应该是这样的:
$ which pip
/home/chaowu/.local/bin/pip
$ conda activate yolo
(yolo)
$ which pip
/home/chaowu/miniconda3/envs/yolo/bin/pip
如果在conda环境中显示pip的路径和系统全局的pip路径相同,那么就需要修改了。
Step 1:安装pip
(yolo)
$ conda install pip
Step 2:找到当前环境的Python的site.py文件
注意此处,是虚拟环境中的Python解释器目录
$ cd ~/miniconda3/envs/yolo/lib/python3.11
Setp 3:修改当前环境的Python的site.py文件
找到这一行,将user_site = getusersitepackages() 改为当前虚拟环境的pip路径。
args = sys.argv[1:]
if not args:
user_base = getuserbase()
# user_site = getusersitepackages()
user_site = "/home/chaowu/miniconda3/envs/yolo/bin/pip"
print("sys.path = [")
for dir in sys.path:
print(" %r," % (dir,))
print("]")
def exists(path):
if path is not None and os.path.isdir(path):
return "exists"
else:
return "doesn't exist"
print(f"USER_BASE: {user_base!r} ({exists(user_base)})")
print(f"USER_SITE: {user_site!r} ({exists(user_site)})")
print(f"ENABLE_USER_SITE: {ENABLE_USER_SITE!r}")
sys.exit(0)