python软件工程环境升级总结

我使用Python开发软件,使用PyQt5开发GUI。IDE是VSCode。

最近Python版本由旧版本Python3.7升级到Python3.11,然后出现了若干问题需要修复,这里记录我自始至终的修复过程。

我把遇到的一些问题罗列出来,如下:

  1. np has no attribute int。新版Python强调使用明确的类型,需要将np.int指明为具体的类型,比如np.int64或者np.uint8;
  2. 若干函数的形参类型和传入的变量类型不一致,例如形参是int类型,但传入的是float。这在旧版本Python中是能正常工作的,但是新版Python会出现运行时错误。例如QSize、setWidth()、setColumnWidth()函数等。这也表明了Python在强调类型一致的重要性。
  3. 从numpy数组图像转换到QPixmap的图,添加到QGraphicsScene显示时会崩溃。原本的代码是先将数组转为PIL的Image,再用fromarray().toQPixmap()转换成QPixmap的,这可能已存在不兼容的情况。通过依赖QImage中转能正常运行。

整个项目的代码量庞大,如何做到滴水不漏呢?如果仅仅依赖记忆和软件测试,显然不能100%保证能修复完,这里我尝试利用了一些类型检查工具,Pylance、Mypy和Pylint。

极力推荐的是Pylance,配置方便,提示明确,没有太多的“无关紧要”的提示(相比于另外两个工具而言)。Mypy和Pylint配置起来很麻烦,参数名和参数值都没有提示,需要进入官网,一边阅读手册一边进行配置。Pylance则不同,在VSCode中

你可能感兴趣的:(python,开发语言)