ananconda环境与外部环境交错问题

本文解析了在Anaconda环境中包导入问题的两种原因,一是site.py配置导致使用外部包,二是pip install导致包在外部。提供了解决方案并指导如何修改site.py,特别指出环境激活方式的重要性。
部署运行你感兴趣的模型镜像
问题描述:

可能ananconda一个虚拟环境里存在一个包,而import说没有该包,或者ananconda环境里不存在一个包,但是import又没有问题。

出现该情况的原因:
  1. 第一种,在ananconda虚拟环境里使用conda install,下载的包在虚拟环境中,但是因为里面site.py文件的设置问题,导致虽然是在该虚拟环境中,但是不能使用该环境里的包,使用的是外部python环境里的包,一般在/usr/local/py3/等路径下,此时如果外部环境里没有可用的包,就会import报错;
  2. 第二种,在ananconda虚拟环境中使用pip install,下在的包全部进入到外部虚拟环境中,但是因为site.py的设置,anaconda虚拟环境中没有该包,但是import却可以正常导入;
解决办法:

如果既有虚拟环境,又有外部环境,就需要注意install包的方式,最好使用conda,下载的包肯定在ananconda中,但是至于到底使用的外部环境的包还是虚拟环境的包,还需要查看site.py里的设置,

site.py文件如何修改:

修改两个地方即可:
USER_SITE = “”
USER_BASE = “”
USER_SITE 表示下载的package的存放路径,默认地址为None,也有可能为其他
USER_BASE 表示我们某一个环境下python.exe、pip.exe等脚本存放位置.
例如windows:

USER_SITE = "D:\\program_tools\\Anaconda3\\envs\\tensorflow\\Lib\\site-packages"
USER_BASE = "D:\\program_tools\\Anaconda3\\envs\\tensorflow\\Scripts"

linux稍有不同,pip、python脚本文件在ananconda/bin文件中

注意点:

一般出现这种情况,进入环境的方式就会有差异,虽然都是通过ananconda创建的环境,但是可能conda activate 和 source activate 都可以激活,或者一个可以,另一个不可以。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值