anaconda python降级_【环境搭建】Docker做Python环境版本控制
问题背景
策略研发的python环境依赖众多的包,包与包,包与python以及conda的兼容性在生产环境中可能会冷不丁的冒出一个问题
- conda在安装新包的时候会solve environment,使得有些包升级,有些包降级,带来了之前写的代码可能不可用
- 数据以pickle的形式进行存储,这样新版本写的数据老版本(可能是集群的版本,升级涉及很多操作)无法读取
因此这里考虑版本的控制
注意事项
conda install命令会擅自更新依赖库的版本(如:pandas,numpy等)导致版本不兼容,因而建议使用pip进行安装,或者conda指定版本进行安装:conda install package_name=xxx.yy.zz
实际操作
这里利用docker来实现跨平台的环境统一:基础的镜像使用jupyter/datascience-notebook, 在此基础上构建自己的镜像:
FROM
orca的安装需要下载orca和chrome到Dockerfile所在的目录,这里自行决定即可,不用的话把对应的部分删除即可(本文的另一个目的也是为了做备份所以贴的是我们完整的配置);
- 构建镜像
# 构建
- 运行
#!/usr/bin/bash
关于Windows
对于金融数据而言,很多第三方数据仅提供Windows下的API,所以还需要针对WIndows也做一份版本控制的环境,为此这里的技术路线采用的是直接打包一个稳定可运行的环境然后使用的时候直接下载压缩包,解压;其中有些小问题要处理一下,如下:
- 第一步:下载zip文件(OP打包好放在内网)放到安装位置,比如:D:Anaconda3
- 第二步: 配置环境变量到Path(右键计算机/此电脑->属性->高级系统设置->环境变量->选中Path点编辑
- 添加:D:Anaconda3、D:AnacondaaScripts、D:Anaconda3Librarybin
- 第三步:由于环境的变化,kernel的路径也会变化,需要让jupyter找到正确的kernel路径
- Step1: 首先打开Anaconda Prompt
- Step2: 输入jupyter kernelspec list查看安装的内核和位置
- Step3: 进入安装目录,打开kernel.jason, 查看python的编辑器的路径文件是否与安装路径一样,比如改为:"D:Anaconda3python.exe"
- Step4: 刷新页面即可,如果还是不行的话可以重启jupyter notebook