linux 服务器离线安装timm库

因为服务器只能在内网环境下运行,所以不能连外网,

最基本的“pip install”是不能用的

pip install timm

然后离线安装的timm的安装包很少

Python timm项目安装包(第三方库)下载资源&安装指南页面 - PyPI - Python中文网 (cnpython.com)找到了timm 0.3.1版本的whl文件,拷贝到服务器后离线安装:

pip install timm-0.3.1-py3-none-any.whl

仍然报错:ImportError: cannot import name 'container_abcs' from 'torch._six'

网上搜集了一下资料主要有以下两点解决方法:

1.修改error报错指定文件(……/site-packages/torch/_six.py)代码:

修改为如下:

if TORCH_MAJOR == 1 and TORCH_MINOR < 8:
    from torch._six import container_abcs
else:
    import collections.abc as container_abcs

但是我并没有找到错误位置,所以此方法放弃;

2.升级timm版本,大部分的解决方法是升级到timm 0.4.12后问题解决:

在网上搜罗了一大圈也没有找到timm 0.4.12的whl的安装包,无奈只能放弃;

因为linux服务器不能联网,所以我想到能不能在服务器上正确安装的可以联网的linux服务器上将可用的timm的whl安装文件打包,在通过离线的方式在服务器上进行安装:

操作方法如下:

1.在可联网的服务器端打包timm库

pip freeze > ./apk/timm.txt

ps:注意在这一步要把其他除timm的其他全部删除,不然会全部打包;

然后通过这台可联网的服务器下载相应的文件:

pip download -r ./apk/timm.txt -d ./pip_packages

数据还稍稍有点多,如果找不到的话可以找我分享给你;

2.将上面得到的./pip_packages 和./apk/timm.txt 拷贝到离线主机下;

3.离线安装

pip install --no-index --find-links=./site-packages -r ./apk/timm.txt

最后安装成功:

背后的原因可能是timm的依赖库比较多,需要安装的库比较多,我拷贝出来的文件有1.7G

成功安装timm-0.6.12,成功debug

猜你喜欢

转载自blog.csdn.net/zlbbme/article/details/128647059