解决问题:ImportError: No module named torch.data.distributed

具体的错误记不得了。

但就是 torch.data.distributed,python解释器表示找不到。

这实际上,是远程服务器上的包安装的版本不对。

解决方式:

首先,在本地pycharm上分析代码是可以找到的。

而后,质疑是否是路径配置错误。使用sys.path 查看路径。

          这里有知识点,python包的查找方式:1.当前目录 2.环境path,3. site_package 4..pth文件

最后,在远程anaconda中打开相应的site_package进行查看,发现远程服务器中,torch的版本不对。

什么是对的torch版本,于是在pytorch文档中进行搜索,按照版本寻找到有相应文件的版本。

知识点:

pycharm和远程的包是不一致的。

conda的环境中会有python,python3.5等,但他们是共享一个site-package.

python模块搜索与导入过程及原理详解

https://blog.csdn.net/zhanghm1995/article/details/82453709

问题:

anaconda如何安装指定版本的库?

如何得到当前模块所在的位置?model.__file__

在python中得到帮助 help(model.function) 比如 help(numpy.sin)不要加括号

 

总结:

包的问题,解决方法只有两个

1. 如果不能导入包,那就是找不到包,要在路径上想办法

通常是sys.path.append(),加上一个路径

或者是在前面加.进行表示。..表示上一个路径,.的数据有限。

2.如果导入包,却还是报找不到包,那就是远程服务器的问题。

可以进入远程服务器的位置,进行分析。

你可能感兴趣的:(解决问题)