Anaconda复制环境配置

17年到18年间用python编了一个处理整合销售和服务数据的程序,然后给PowerBI提供数据用来可视化展示所有和客户相关的数据,来给销售提供insight。
18年底换部门以后,把基本的报告更新流程交接给原来部门的同事,自己还在做技术支持的事儿。一开始因为记忆还在,加上本身事情不多,所以做起来驾熟就轻。

产假回来以后,项目的工作越发繁重,技术支持的相应速度也直线下降。直到同事更换电脑重装Anaconda后,原来的python程序也跑不起来了:gensim里similarities.matrixsimilarity 的函数一直报错。网上查到的解决办法都不行。

眼见接下来已经没时间处理其他事务。报告更新延后会导致用户体验变差,访问人数逐渐减少,最后项目死亡。一年多开发的心血要打水漂,于心不忍。于是趁禁足在家强制休假的一个长周末,花了一两天时间专攻这个难题。

最初怀疑是gensim最新版本里存在bug,于是一心想要给gensim降到旧电脑的版本。降了版本之后程序还是报错。最后只能新建一个和旧电脑完全一致的python环境。

  1. 复制原电脑环境。
    在原电脑指定environment下,输出该环境的指定文件列表(explicit specification files)
  2. 在新电脑中根据上一步获得的列表,生成完全一致的环境。
conda list --explicit > spec-file.txt
conda create --name myenv --file spec-file.txt