Windows10+PyQt+pyinstaller+tensorflow+keras开发环境配置

前面已经介绍了本机开发环境,python3.5.2、keras2.2.3、tensorflow1.2.1,本来一切运转正常。可是在将python的脚本程序打包成.exe文件时,需要安装pyinstaller,执行安装命令pip install pyinstaller时报错:

Exception:
Traceback (most recent call last):
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\commands\install.py", line 317, in run
    prefix=options.prefix_path,
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\req\req_set.py", line 742, in install
    **kwargs
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\req\req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\req\req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "C:\Program Files\Anaconda3\lib\site-packages\pip\wheel.py", line 348, in move_wheel_files
    assert info_dir, "%s .dist-info directory not found" % req
AssertionError: pyinstaller .dist-info directory not found

网上有第二种方法安装,即从https://pypi.org/project/pyinstaller/下载pyinstaller-4.2.tar.gz(或者pyinstaller-4.1.tar.gz),解压后执行命令python setup.py install,试了也不行,各种报错。图就不贴了,当时没截图,现在也不想去复现。按说明,pyinstaller-4.2.tar.gz支持python3.5-3.9,版本上不存在问题,不知什么原因。

心血来潮,将anaconda卸载,更换版本重装。反反复复试了python3.5\3.6\3.7\3.8,总是有这样那样的问题。有的是网速问题,显示连接超时,更换成清华源(命令添加参数 -i https://pypi.tuna.tsinghua.edu.cn/simple)后,也有问题,耗费了很多时间精力。

大致上,python3.8算是安装最顺畅的,pyinstaller一次性安装成功,tensorflow和keras也一次性安装成功,但是在测试import keras时报错:

Keras requires TensorFlow 2.2 or higher

错误根源是keras版本过高,需要匹配更高版本的tensorflow。只要在安装keras时,指定较低版本,匹配即可。有关keras和tensorflow版本匹配的参考博客很多,https://blog.csdn.net/weixin_44634533/article/details/107077395最全,囊括最高到tensorflow2.2版本。降低keras版本后,安装都没有问题,但是测试import keras时还是会报其他错误。

我想来想去,不管是哪个python版本,都会有配套的各依赖包版本的,不应该纠结python版本的问题,也不应该换来换去。目前来看,pyinstaller、tensorflow、keras支持到python3.7是很确定的。之前之所以选择3.5版本,是因为QualNet6.1版本限制只能使用vs2008和vs2010,其在调用Python时,高版本Python会有头文件错误,最高支持到3.5版本,而tensorflow支持的python3版本最低是3.5,两厢综合,只能选3.5版本。现在思路是将QualNet发送至外部程序,在外部程序中调用Python,不再受限,可以选择更合适的版本。下面是以python3.6为基础的配置过程。

1.安装Anaconda3-5.2.0-Windows-x86_64.exe,对应版本Python3.6.5

2.安装pyinstaller,管理员模式下运行anaconda prompt,执行命令:pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple,自动选择版本,查看是4.2版本。

3.安装tensorflow和keras,指定版本安装:

pip install tensorflow==1.15 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install keras==2.3.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

在安装tensorflow时报错,wrapt不能卸载 

解决方案是重新安装wrapt:

pip install wrapt --ignore-installed

4.安装pyqt5、qt5-tools、PyQtChart

猜你喜欢

转载自blog.csdn.net/zhang1806618/article/details/113101192