不知道学过MATLAB或者R的小伙伴刚刚接触python的时候会不会被各种python版本,包版本,虚拟环境之类的搞的头晕眼花。
问题一 包版本
先来假设,我们自己开发了一个包MyPackage 1.0,里面包含一个模块叫PreTrained,然后去维护,每维护维护就更新一下包的版本。MyPackage2.0,甚至里面一些类的名称也有所变动,比如因为不同算法习惯的专业名词迭代更新,对应的包也会有所修改。如,我们把PreTrained 改名为PreTrainedML。
此时,用户小A,用1.0版本的包写了个程序。我们拿来扒一下,想学习,我们也直接安了MyPackage。
pip install MyPackage
from MyPackage import PreTrained
就会报错找不到对应module。因为等我们用的时候包已经更新成2.0版本了,直接安装最新的包,会找不到这个模块,因为它在新版本里改名了。
那么我们就可以安装包的时候指定一下版本。安装的时候在终端里进行,就像R一样,一般安装完之后都要导入一下才能用。install.package(), library(). (但R里我们不会反复安装某个包,python也是一样的)
pip