最近把自己的python程序移植到新的CentOS系统环境的时候出现了这么个报错:
ImportError: bad magic number in 'src': b'U\r\r\n'
本欲放弃,然,放弃非寡人之性格。
上网查了这个问题后发现,很多博主都是建议删掉与这个报错所有相关的.pyc。
事实上,这是一种知其然不知其所以然的做法。
我也知道可以这么处理,但是为什么要这么处理呢?是什么原因导致的这类报错呢?
这个问题这些二把刀博主们当然回答不了,还是得自己动手。
一顿尝试性操作之后,发现这种运行错误是不同环境下的python版本不一致导致的。
我之前用的python是3.8.5版,而新系统用的是3.9.5版本,
采用python 3.8.5编译的.pyc,并不能在python 3.9.5环境运行。
全部换成python 3.9.5编译python程序这个问题就彻底解决了。