离线模式下在Anaconda中创建3个Python 3环境的技术咨询
关于Conda离线创建Python环境的常见技术问题解答
你已经成功通过conda create -n py36 python=3.6 anaconda --offline命令离线创建了Python 3.6环境,从返回的Solving environment: done结果来看,离线依赖解析已经完成,环境也顺利部署在/opt/Anaconda/Anaconda3-5.1.0/envs/py36路径下了。下面针对离线创建Conda环境的高频技术问题给你梳理:
1. 离线创建前的本地缓存验证
- 首先要确认你的本地Conda缓存中已经提前存储了对应Python版本的依赖包——毕竟
--offline模式完全依赖本地包,不会发起任何网络请求。你用的Conda 4.4.10搭配Anaconda3-5.1.0,本地缓存默认已经包含了Python 3.6对应的Anaconda套件完整依赖,这也是你能顺利创建py36环境的核心原因。 - 你可以通过以下命令查看本地缓存路径,手动验证是否存在Python 3.4、3.5对应的包文件(通常是
.tar.bz2格式):
输出中的conda infopackage cache字段就是本地包的存储路径,进入该目录检查即可。
2. 离线创建Python 3.4/3.5环境的关键步骤
- 如果你要创建Python 3.4和3.5的环境,必须确保本地缓存中有对应版本的Python包及Anaconda套件依赖。如果之前没提前下载,需要先在联网环境下执行仅下载命令缓存所需包:
执行完成后,所有依赖包会被存入本地缓存,之后就能用# 以Python3.5为例,联网时缓存所有依赖包(不创建环境) conda create -n py35 python=3.5 anaconda --download-only--offline参数离线创建py35环境了。 - 如果本地缓存缺失对应版本的包,
--offline模式会直接报错"PackageNotFoundError"。这种情况下,你需要手动将提前下载好的对应版本包文件放到Conda的package cache路径下,再重新执行创建命令。
3. 离线环境的激活与完整性验证
- 离线创建的环境激活方式和在线环境完全一致:
# Linux/macOS系统 source activate py36 # Windows系统 activate py36 - 激活后,通过以下命令验证环境是否完整:
如果输出的Python版本为3.6,且# 检查Python版本 python --version # 查看环境内所有已安装包 conda listconda list能显示Anaconda套件的全部核心包,说明离线创建的环境是完整可用的。
4. 离线环境的后续包管理注意事项
- 若之后需要给离线环境添加新包,同样需要先在联网环境下载好对应包的离线文件(注意匹配Python版本和Conda版本兼容性),将其放入package cache路径后,执行以下命令安装:
conda install --offline <package-name> - 你使用的Conda 4.4.10是2018年的版本,属于较旧的版本,部分新发布的包可能不支持该版本的Conda,所以下载离线包时务必选择与当前Conda版本、Python版本兼容的包版本。
内容的提问来源于stack exchange,提问作者HISI
相关产品推荐
相关产品推荐

