刚开始秉着需要什么就pip install什么的原则直接pip install torchtext
,结果:
把我这个环境打乱了,自作主张的删掉之前的很多包重新安装了其他版本的包而不是自适应的安装当前torch所对应的torchtext。因为这个环境比较重要也用在其他的工程当中很多包的版本都是特定的改了会出错,而网上的解决方法都是新建一个环境再解决,所以本篇就以先恢复再解决的原则进行讲解。
首先我们可以看到它给我删掉的东西有这些:
重新安装的有这些:
我们看当前环境的list:
确实和新安装的版本对应的上。
接下来要做的就是先将新安装的这些包一个一个的pip uninstall掉:
根据第一张图显示一共需要删掉6个包。
然后将自作主张把我们删掉的那些包install回来,记得要带具体版本号,和第一张图对应上:
到此是恢复到了原来的环境,下面开始正确安装torchtext。
torchtext和torch版本是一一对应的所以我们需要根据目前torch的版本安装对应版本的torchtext,如果像我一开始那样不带版本号的默认安装,会给你瞎搞。
版本号如图所示,因为我的torch版本是1.11.0所以对应的torchtext版本就是0.12.0:
安装完成后运行还会报一个需要torchdata的错误,这个包也是版本一一对应的:
即我需要安装的是0.3.0:
至此大功告成。
额外说明,torchtext在历时版本中有两次大变动:
第一次是在0.9,将一些类库移入了legacy目录。对代码的影响是,import torchtext.data
要改成import torchtext.legacy.data
第二次是在0.12,将legacy目录移除,并提供了新的API。对代码的影响是,很多原本在legacy目录中的接口都废弃了,要重新构建代码逻辑。
所以如果是要复现别人的代码,最好是以torchtext的版本为主,而不是以torch的版本为主。