在anaconda3虚拟环境中执行python代码,代码中使用pytorch框架,运行时出现上述问题,然后根据网上查找到的资料,推荐的解决方法是将numworkers = **注释掉,还有将dataloader放在if __name__ "__main__":
的代码段中,但是并不能解决我当前的问题,因为我出现这个问题是由于修改了运行python文件的版本,详见上一个问题:
Linux服务器上运行py文件,出现ImportError: No module named torch问题链接
所以当前的问题是Python版本和包的版本不兼容导致的,会出现以下问题:python中的错误:python3.6/site-packages/torch/lib/libtorch_python.so: undefined symbol: PySlice_Unpack
这个问题的解释就是python的版本和安装的包的版本不兼容导致的,那么为什么在之前的一段时间使用没有问题,现在又突然出现版本问题了呢,搜索python 在导入包时的import顺序如下:
1,系统内自带模块,直接搜索导入;
2,不是内建模块,则在一个称为sys.path的list中寻找,包含:程序所在的路径,环境变量中的PYTHONPATH, 即.bash_profilec,安装python时的依赖位置。
通常情况下,使用anaconda虚拟环境运行Python文件时,都是从安装的python依赖位置进行搜索导入,那么就说明当前使用的python版本不是创建虚拟环境时安装的Python,这就是Python版本的问题,
Linux服务器使用anaconda时python版本不正常,无法使用虚拟环境的python版本版本问题及原因