首页 > 其他分享 >Pycharm中配置Pyinstaller工具 and 多文件打包

Pycharm中配置Pyinstaller工具 and 多文件打包

时间:2023-05-25 15:55:54浏览次数:50  
标签:文件 Pyinstaller simple pypi http path Pycharm spec 打包

一、Pycharm中配置Pyinstaller

首先,要下载个pyinstaller库,用pip install installer等待完成即可

(顺带记录下pip 配置国内镜像的方法:
国内源:

在 c:\users\你的用户名 目录下新建pip文件夹
在新建的pip目录下新建pip.ini (新建txt,把后缀改成ini)
用记事本打开写入

[global]
timeout=40
index-url=http://mirrors.aliyun.com/pypi/simple/
extra-index-url=
        https://pypi.tuna.tsinghua.edu.cn/simple/
        http://pypi.douban.com/simple/
        http://pypi.mirrors.ustc.edu.cn/simple/
[install]
trusted-host=
        pypi.tuna.tsinghua.edu.cn
        mirrors.aliyun.com
        pypi.douban.com
        pypi.mirrors.ustc.edu.cn

然后,添加环境变量:
此电脑->属性->设置->高级系统设置->环境变量->系统变量->path->新建
%HOME%\pip\pip.ini
在CMD中测试:
pip config list
image
)

二、Pycharm中添加Pyinstaller外部工具

文件——设置——外部工具——添加

程序:找到pyinstaller.exe的位置(我的pip安装后是在Python安装文件件下的Scripts文件夹中)
实参:--noconsole --onefile $FileName$
工作目录:$FileDir$

在需要打包的.py文件上右键—Extennal Tools-Pyinstaller

命令窗口出现:19629 INFO: Building EXE from EXE-00.toc completed successfully.

表示打包成功,在代码存放目录中的dist文件夹中就能找到.exe文件了。

多文件打包

如果程序中有些资源文件,比如图标、图片等,直接pyinstaller,并不会把这些一起打包进去。

这样的话,就只能用pyinstaller生成.spec文件,然后修改.spec文件,再通过spec文件来打包。同样,为了方便,我还是通过pycharm来配置两个工具,一个使用pyinstaller生成spec文件,一个通过spec文件打包。

配置pyinstaller_spec工具

文件-设置-外部工具-添加

程序:找到pyinstaller.exe的位置
实参:-F -w $FileNameWithoutExtension$.py (-w 小写)
工作目录:$FileDir$

配置pyinstaller_spec_exe 工具

程序:找到pyinstaller.exe的位置
实参:$FileNameWithoutExtension$.spec
工作目录:$FileDir$

入口程序代码中加入资源文件目录访问代码:

def resource_path(relative_path):

    if getattr(sys,'frozen',False):
        base_path = sys._MEIPASS
    else:
        base_path = os.path.abspath(".")
    return os.path.join(base_path,relative_path)


cd = resource_path('')
os.chdir(cd)

生成spec文件,修改资源文件

在入口程序.py文件上右击-Extennal Tools-Pyinstaller_spec,等待生成spec文件

之后打开spec文件
image

在前面加上文件地址变量
在pathex=[],中加入地址变量(地址中的'/' 需要多加个转义符'/')
datas中加入:

[(Setup_Dir + '\\res', 'res')],

'res'是资源文件夹名字

后面exe = EXE()
中的name='程序名称',可替换成.exe文件的名称

如果要替换exe图标,可加上:

icon='xxx.ico'
(注意,新添加这句代码,需要在上一行结尾加上',')

图标只能放在根文件目录中,不能放在res文件夹里。文件格式只能为.ico,否则会报错。

spec文件修改完成后,直接在spec文件上右键-Extennal Tools-Pyinstaller_spec_exe,等待生成结束后,在dist文件中查看。

标签:文件,Pyinstaller,simple,pypi,http,path,Pycharm,spec,打包
From: https://www.cnblogs.com/nomorebug/p/17431020.html

相关文章

  • Pycharm配置Gitee
    在Pycharm中通过GIT把项目上传到Gitee学习PyQt5,准备编个小程序,上传到Gitee,老是用命令行太麻烦,所以准备在Pycharm中配置上传工具,网上找了好多教程,记录整理一下。 一、工具及准备工作Pycharm我的是PyCharmCommunityEdition2021.3.2Git官网在国内下载太慢,可以用镜像下载:G......
  • vue3+vite build打包删除控制台打印
    很简单,直接在vite.config.ts里面添加配置即可:exportdefault({mode})=>defineConfig({build:{minify:"terser",terserOptions:{compress:{//生产环境时移除consoledrop_console:true,drop_debugger:true,......
  • vite开启gzip打包
    vite社区提供了一个插件vite-plugin-compression,可以用来进行gzip压缩。1.在项目中执行安装命令npmi'vite-plugin-compression'2.在vite.config.ts中引入,并增加一下代码片段viteCompression importviteCompressionfrom'vite-plugin-compression'constplugins=[v......
  • 解决maven打包异常 Fatal error compiling: 错误: 无效的目标发行版
      问题:刚从github上拉下来的代码用idea中的maven打包就报这个错:“Fatalerrorcompiling:错误:无效的目标发行版”,很明显是打包时的版本不对,现在记录下解决问题的步骤留待以后参考:1、确定项目pom.xml的版本: 项目是使用JDK17,pom.xml的设置没有问题,接着2、确定idea中项......
  • 命令行mvn打包
    命令行打包,以下是打jar和war:打jar包 :mvncleaninstall-Dmaven.test.skip=true打war包:mvncleanpackage-Dmaven.test.skip=true-Dmaven.test.skip=true 跳过单元测试 命令修改并启动jar包端口号:java-jar-Dserver.port=8090sell.jar命令修改并启动jar包端口号和切换项目环......
  • webpack-loader打包处理less文件
    打包处理less文件运行npmiless-loaderless-D命令在webpack.config.js的module->rules数组中,添加loader规则如下:module:{rules:[//定义了不同模块对应的loader{test:/\.css$/,use:['style-loader','css-loader']},//处理.less文......
  • 使用ffmpeg将内存中的裸流打包成可播放的MP4文件,并输出到内存中
     前两天项目上有个需求,要求大概是这样的,输入端是一帧一帧的h264裸流(本示例只支持h264裸流,h265可基于本示例自己开发,在此我就不过多阐述了)和一个时间,要求输出根据这个时间来产生一个前后各延伸一段时间的视频(伴随录像),且伴随录像是可直接播放的MP4文件。但是产生的视频文件不是直接......
  • linux的程序打包deb
    deb安装包deb是Unix系统(其实主要是Linux)下的安装包,基于tar包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。由于Unix类系统对权限、所有者、组的严格要求,而deb格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要。deb组成查看deb包含哪些......
  • pycharm中创建python包失效
    testDemo是我创建的python包,但图标一直显示为文件夹,导致后期使用无法导入。   解决: 在设置中找到项目结构 选择对应文件夹并标记为源即可......
  • vs2019打包程序时添加自定义的系统必备组件
     若要创建引导程序包,必须创建产品清单产品清单 product.xml包清单 package.xml 将文件复制到引导程序文件夹位置C:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\SDK\Bootstrapper\Packages文件夹下    ......