pyinstaller打包tensorflow+python程序成.exe各种坑(持续添加)
先说一句废话:唉,被自己给蠢到了,编译了一个GPU版的和一个CPU版的,两个命名还一样的。。。一直在用错的做测试。。。
一个建议:代码和命名规范,不然小意外会要命
最后:测试一定要细心每次都要检查一下版本是否是要测试的版本
问题:
1、把python+tensorflow1.13写的一个demo编译成.exe程序,在本机和其他装了tensorflow的电脑上可以顺利运行,但是在未安装tensorflow的电脑上会报错importError: No module named ‘_pywrap_tensorflow_internal’的问题?
建议1:采用CPU版本的tensorflow打包程序,上述问题解决了。
建议2:采用CPU版本的tensorflow打包程序,上述问题未解决,找到.spec文件,并且把hiddenimports=[’_pywrap_tensorflow_internal’]注意引号是必须要的!!!,此外还有一个备选措施将.py程序中的from…import…改为import…(我这里未改也正常了)
建议3:gpu版本与上述一直,但是但是要启用gpu时要注意的是,用于编译的电脑的的GPU驱动和cudnn版本所支持的GPU范围必须包含测试电脑的GPU,这样在测试电脑上启用GPU才能正常工作。
2、待打包的py程序中存在相对路径的问题,打包生成的执行程序exe,用cmd运行改程序时候会以cmd中的基路径为父路径进一步寻找相对路径(作为子路径)。如下图所示
此时若基路径中(C:\Users\buful\Desktop\main_test)中不存在main_test程序中所调用的相对路径程序就会报错。因此程序中的一些调用路径可以根据需求设定为“绝对路径”或者作为变量参数运行时传入~~
(我测试的是这样)。个人总结,不知道对不对~~
pyinstaller打包tensorflow+python程序成.exe各种坑(持续添加)相关推荐
- python转成exe_将python程序转换成exe程序
将python程序转换成exe. 一. 先安装python 2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到pth系统变量中即 可.(D:\\p ...
- python封装成exe win7不能用_pyinstaller打包python的执行文件如何在32位和64位操作系统下也能运行...
我在64位的windows 10 操作系统下,用64位Python环境,PyInstaller 打包一个py程序. 如 pyinstaller -F -w my.py 你会看到一些警告信息WARNIN ...
- 用freeze.py打包python程序成可执行程序(linux)
用freeze.py打包python程序成可执行程序(linux) 2009-12-16 19:55:13 分类: 用freeze.py打包python程序成可执行程序(linux) 为了将一批 ...
- python编译成exe速度会变快吗_python如何编译成exe
Python 程序都是脚本的方式,一般是在解析器里运行,如果要发布出去,需要提前安装解析器才可以运行,为了在 Windows 里方便发布,只要点击一个 EXE 文件运行,并且打包所需要库文件,这样发布 ...
- python编译成exe和exe反编译成python
先看文章概要.再看左侧目录,可准确找到需要内容 文章概要:python文件可编译成exe文件,exe文件也可通过反编译恢复为python文件.下面简单介绍如何生成exe和恢复python python ...
- python编译成exe有意义吗_python工程编译成EXE
前言 python编译成EXE文件后,可以独立使用.亲测,一个复杂的python工程包含多个包多个模块,可以生成exe文件. 目的 windows下将整个python工程编译成单个EXE或者单个目录带 ...
- pyinstaller打包tensorflow的坑之 Importerror DLL not fined 找不到指定模块
pyinstaller打包tensorflow的坑之 Importerror DLL not fined 找不到指定模块 文章目录 pyinstaller打包tensorflow的坑之 Importe ...
- pyinstaller打包py文件生成的exe出现闪退问题
在使用pyinstaller打包py文件生成可执行文件exe出现闪退问题,解决方法: 在需要打包的py文件中的主函数最后一行添加如下代码: python2: raw_input('please inp ...
- python 死循环程序能占满cpu吗_运行tensorflow python程序,限制对GPU和CPU的占用操作...
一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用.并且,一般我们的程序也用不了所有的GPU资源,只是强行 ...
最新文章
- properties 配置回车_非常全面的讲解SpringCloud中Zuul网关原理及其配置,看它就够了!...
- Algs4-2.1.37部分有序
- C++中的vector使用范例-
- dropout的正则化理解
- mysql 平均月份_Mysql按月份统计和按时段统计SQL
- IOS客户端Coding项目记录(二)
- MyBatis四大核心概念
- 怎样设置电脑壁纸_谷歌地球实时壁纸,电脑和手机实现方案都在这里了
- 【解决方案】: hyper-v 导入虚拟机报这个错误 32784
- sql 系统 存储过程的使用方法 转载
- vue3 使用element-plus 表单校验
- 第二十三章:触发器和行为(九)
- 计算机房电源解决方案,机房UPS电源解决方案
- 常用的抓包工具有哪些?
- 小程序坑录-wx.getLocation接口申请
- 清华大学计算机跨考攻略
- 使用redis的setnx可以非同一线程进行加锁和解锁(附源码)
- 鸿蒙十大凶兽排名,上古十大神兽|上古十大洪荒神兽|上古十大神兽资料大全【图文】...
- php正则表达式替换字符,php正则表达式如何替换字符
- RabbitMQ-direct直通模式
热门文章
- php刷数据库数据库,php数据库操作种
- php dat文件,window_Win7系统怎么打开Dat文件 Win7系统打开Dat文件的方法, 在电脑中的Dat文件是很常 - phpStudy...
- 大访问量网站缓存的一点思考,个人看法,勿拍砖
- java实现rabbitmq路由模型(routing/topic queues), 生产者 消费者 交换机 消息队列
- myeclipse中的项目如何切换svn地址
- android图片混淆还原,图片混淆还原1.2版本
- 百度大牛总结的十条Python面试题
- php怎么实现弹幕,HTML如何利用canvas实现弹幕功能
- 随便说说Silverlight
- vue 如何处理两个组件异步问题_Vue异步组件处理路由组件加载状态的解决方案...