python 打包
Posted 记录——去繁就简
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 打包相关的知识,希望对你有一定的参考价值。
1,单文件打包
pyinstaller -F -w file.py
-F :
-w::启动exe文件,不显示控制台
2,多文件打包
文件结构:test
main.py
set.py
如果使用:pyinstaller -F -w main.py 发生问题:相互依赖的文件,打包后无法引用,导致报错
可以使用:pyinstaller -D main.py -p set.py
假如还是报错:pyinstaller -D main.py -p set.py --hidden-import set
假如还是报错(not moudle name):
1,第三方包问题:方法一:在主文件中导入该包。
方法二:在主文件打包的spec文件中的 hiddenimports=[],假如缺失包
2,自己写的包:引用路劲的问题,不能使用相对路劲,要使用绝对路劲
当打包的exe,无法打开闪退,无法得知原因可以用cmd输入文件
cmd:
打包后显示缺失第三方包
但是pycharm安装此包,且程序运行良好。原因:cmd与pycharm下载的第三方包没有共享
解决方法一:用cmd在下载一编第三方包
解决方法二:pycharm共享第三方包
参考:(38条消息) 在cmd通过pip安装的第三方包与pycharm不通用的解决方法_cmd安装的模块如何导入pycharm_温暖的小冷风的博客-CSDN博客
python打包
一、RPM
准备环境
安装脚本setup.py内容如下:
在linux环境下执行打包编译命令: python2 setup.py bdist --formats=rpm
formats参数=wininst则会打包为.exe程序
创建安装程序或包时,会出现一些错误和警告,只要看到
writing manifest file ‘MANIFEST‘
creating hello-1.0
making hard links in hello-1.0...
hard linking hello.py -> hello-1.0
hard linking setup.py -> hello-1.0
creating dist
tar -cf dist/hello-1.0.tar hello-1.0
gzip -f9 dist/hello-1.0.tar
tar -cf dist/hello-1.0.tar hello-1.0
gzip -f9 dist/hello-1.0.tar
removing ‘hello-1.0‘ (and everything under it)
类似的信息,就可以忽略告警和错误信息。
pack目录下我放了两个模块,hello和hello_2,并且setup.py中参数也是py_modules=[‘hello‘,‘hello2‘],但是打包出来的tar包里,只有hello模块,这个比较奇怪~可能只能打包一个模块?·····
如果想重新构建,需要删除MANIFEST.in文件。
二、安装
发布的话,就直接发布hello-1.0.tar.gz。
python setup.py install
以上是关于python 打包的主要内容,如果未能解决你的问题,请参考以下文章