linux用pyinstaller将tensorflow的python代码打包成可执行文件

原创 2018年04月16日 16:39:01

pyinstaller可以轻易地将python代码打包成可执行文件。




1、安装pyinstaller


-Bash 代码
1
sudo pip install pyinstaller
安装好后,可以用如下命令查看pyinstaller版本


-Bash 代码
1
pyinstaller --version


2、写python代码test.py,如




-Python 代码
1
import numpy as np
2
 
3
if __name__ == "__main__":
4
    a = np.array([1,2,3])
5
    b = np.array([4,5,6])
6
    print a+b


3、用pyinstaller将代码打包


在代码目录下,输入
-Bash 代码
1
pyinstaller test.py
会在当前目录下生成两个文件夹build和dist,以及一个文件test.spec


其中dist中包含可执行文件test,直接运行即可




4、写一个用到了tensorflow的python代码,保存为test.py


-Python 代码
01
import numpy as np
02
import tensorflow as tf
03
 
04
if __name__ == "__main__":
05
        a = np.array([1,2,3,4])
06
        b = np.array([5,6,7,8])
07
        print a+b
08
 
09
        node1 = tf.constant(3.0, dtype=tf.float32)
10
        node2 = tf.constant(4.0) # also tf.float32 implicitly
11
        print(node1, node2)
12
 
13
        sess = tf.Session()
14
        print(sess.run([node1, node2]))


再按照步骤3打包成可执行文件,但运行时会报如下的错误


xception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. It's also possible that there is a mismatch between the package name in setup.cfg and the argument given to pbr.version.VersionInfo. Project name mock was given, but was not able to be found.
[1799] Failed to execute script test


这个错误,如何解决呢?




搜索得到了两种解决方案(参考https://github.com/pyinstaller/pyinstaller/issues/2883):
1、在python程序中,添加如下的语句:


-Html 代码
查看代码
1
import os
2
 
3
os.environ["PBR_VERSION"]='3.1.1' #版本号可以用 pbr -v查看本机版本号
但这个方法在linux好像不好使,在MAC OS上似乎有用


2、在/etc/environment中添加
-Python 代码
1
PBR_VERSION=3.1.1
再关闭当前vim,重启vim后有效,再运行就ok啦

版权声明: https://blog.csdn.net/b876144622/article/details/79962642

关于使用pyinstaller 打包带有matplotlib 等出现UnicodeDecodeError解决方法

环境 win7 64位旗舰版 python3.4 anaconda 在含有 matplotlib的脚本工程中,用pyinstaller将其打包,在loading最后一个包zmq.py时出现错误:o...
  • u011529752
  • u011529752
  • 2017-02-06 14:19:20
  • 2926

nova-docker安装使用中遇到的一些问题(juno版)

声明:本博客欢迎转发,但请保留原作者信息!博客地址:http://blog.csdn.net/halcyonbaby内容系本人学习、研究和总结,如有雷同,实属荣幸!问题1: [root@0ff2335...
  • halcyonbaby
  • halcyonbaby
  • 2015-02-04 23:25:33
  • 15353

安装neutron时如果遇到的问题

1、下载最新的neutron-master并解压,我解压到目录D:\workspace\neutron\neutron-master\ 2、进入解压目录,执行pip install -r requi...
  • yeehong
  • yeehong
  • 2013-10-20 16:14:08
  • 7562

在ubuntu13.04进行cinder开发

使用nfsdirver进行开发 0.将开发包移入cinder-2013.1.zip 解压到开发目录/home/deve-cinder/workspace 1.将oslo移入cinder目录...
  • bellwhl
  • bellwhl
  • 2013-07-19 16:00:25
  • 2969

Exception: Versioning for this project requires either an sdist tarball,问题解决方法

[root@localhost ~]# python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red H...
  • wuruiaoxue
  • wuruiaoxue
  • 2017-12-25 13:50:37
  • 565

tensorflow1.3+bazel0.5.2 的CPU安装 (在VMWARE虚拟机上)

https://zhuanlan.zhihu.com/p/34765795          jetpack3.1 + tensorflow1.3 +bazel0.5.2https://zhuanla...
  • j2007011107
  • j2007011107
  • 2018-03-30 10:49:24
  • 5

OpenStack Rally分析及实践

Rally 性能测试 OpenStack 实践
  • u013553406
  • u013553406
  • 2016-07-25 19:46:28
  • 578

VC++小知识总结

(1)当文档被修改时,如何在标题上加上标志'*'? 重载CDocument类的虚函数virtual SetModifiedFlag: void CTest2Doc::SetModifiedFlag...
  • ll_0520
  • ll_0520
  • 2012-04-30 21:12:47
  • 1561

用PyInstaller将python转成可执行文件exe笔记

转自 1、安装PyInstallerPyInstaller的作用如标题所说,首先需要下载PyInstaller和UPX,UPX是用来压缩exe的,点击超链接下载吧,目前稳定版本是1.3,注意选择你使...
  • long_20140901
  • long_20140901
  • 2016-12-18 10:39:37
  • 203

[转]【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件 注:此处之所有选用BlogsToWordpress,是因为此python脚本够复杂,依赖的模块够多。 如...
  • hk2291976
  • hk2291976
  • 2016-05-21 21:33:28
  • 2814
收藏助手
不良信息举报
您举报文章:linux用pyinstaller将tensorflow的python代码打包成可执行文件
举报原因:
原因补充:

(最多只允许输入30个字)