最近在将Python环境和算法部署到Windows Server 2012 R2时,总是出现“MemoryError : Unable to allocate 81.6 TiB for an array with shape <3462851,3239625> and data type float64”的问题。
因为部分占内存小的算法可以正常运行,将虚拟内存扩大到1T的时候所有算法都可以运行,所以一直以为是虚拟内存的问题。但是在本地跑的时候虚拟内存也只有32G,所有算法都可以正常运行。百思不得其解,折腾了2天终于发现问题所在—‘PROJ_LIB’的路径错误引起的。
因为本地运行时我的算法总是无法自动识别‘PROJ_LIB’的路径,因此在算法最开始手动添加了路径。部署到服务器时忘记根据服务器中‘PROJ_LIB’的路径进行修改,因此导致了这个错误。
特此记录,给自己和遇到相同问题的小伙伴们提个醒。