02.pycharm中配置PyInstaller打包工具

02.pycharm中配置PyInstaller打包工具我用的环境版本python解释器:3.6.6pycharm开发工具:2018.3.6社区版PyInstaller打包工具:4.5.1pycharm中配置PyInstaller打包工具opts可选的参数参数含义-F-onefile,打包成一个exe文件-D-onefile,创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-c-console,-nowindowed,使用控制台,无窗口(默认)-w-Windowed,-noconsole,使用窗

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

我用的环境版本
python解释器:3.6.0
pycharm开发工具:2018.3.6社区版
PyInstaller打包工具:3.6

pycharm中配置PyInstaller打包工具

opts可选的参数

参数 含义
-F -onefile,打包成一个exe文件
-D -onefile,创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c -console,-nowindowed,使用控制台,无窗口(默认)
-w -Windowed,-noconsole,使用窗口,无控制台

Pyinstaller在pycharm的支持配置

name:Pyinstaller EXE(可自定义)
Program:pyinstaller.exe文件所在的路径,可参考下列路径
( C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\pyinstaller.exe)
arfuments:-F $FileNameWithoutExtension$.py
working:$FileDir$

增加压缩工具

INFO: UPX is not available.

在打包过程中总是出现这一句,经查,是pyinstaller支持压缩,使用UPX压缩,官方地址https://upx.github.io/

居然没有windows64位,32位拉来试试吧。不行就不压缩。

使用很简单,把获取的upx.exe放在pyinstaller目录下就可以了。

再次尝试打包:

INFO: UPX is available.

看来UPX压缩已经激活了

将库文件单独存放在目录中

可以通过如下方法,把这些库文件放到 单独的一个 目录中。 这样.exe所在的目录就显得比较清爽了,也好找到.exe文件了。

我们添加一个Python代码文件,名为 runtimehook.py

其内容如下

import sys
import os

currentdir = os.path.dirname(sys.argv[0])
libdir = os.path.join(currentdir, "lib")
print(currentdir)
sys.path.append(libdir)
os.environ['path'] += ';./lib'

Jetbrains全家桶1年46,售后保障稳定

然后我们在cmd窗口, cd进入代码byhy文件所在的目录下面,执行制作exe命令时,加上 参数 –runtime-hook=“runtimehook.py”

pyinstaller byhy.py --workpath d:\pybuild  --distpath d:\pybuild\dist --runtime-hook="runtimehook.py"

上面的命令指定 生成的.exe运行时,会先执行 runtimehook.py 里面的代码。

这样就会指定 .exe 程序所在的目录下面的lib目录 为

Python库搜索路径,这是由 sys.path.append(libdir) 指定的。

动态链接库文件的 搜索路径,这是由 os.environ[‘path’] += ‘;./lib’ 指定的。

上面的命令执行结束后,我们进入到 目录 d:\pybuild\dist\byhy 中,新建一个名为 lib 的目录,把除了下面的几个文件之外的所有其他文件都放到lib目录里面。

base_library.zip
byhy.exe
byhy.exe.manifest
python36.dll

这样,可执行程序的目录就显得清爽多了。

注:将库文件单独存放在目录中打包需要更改
pycharm中的工具
arfuments:-F $FileNameWithoutExtension$.py
更改为
-w $FileNameWithoutExtension$.py –noconsole –workpath f:\pybuild –distpath f:\pybuild\dist –runtime-hook=“runtimehook.py”

执行后打包好的文件会生成到F盘下的pybuild中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219224.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 计算机病毒的分类

    计算机病毒的分类病毒与木马病毒:指编制或在计算机程序中插入的破坏计算机功能或破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或程序代码。木马:是一种后门程序,被黑客用作控制远程计算机的工具。木马与病毒不同的是,木马不会自我繁殖,并不会刻意地感染其他文件,它的作用就是为黑客打开远程计算机的门户,从而可以让黑客来远程控制计算机,使黑客获取有用的信息。病毒是自动破坏目标计算机,而木马需要人为的去操控…

  • ROS中使用A星算法进行路径规划[通俗易懂]

    ROS中使用A星算法进行路径规划[通俗易懂]ROS中使用A星算法进行路径规划前言python编写A星算法描述具体实现ROS结合A星算法描述具体实现实现结果前言由于本人这学期修了一门《智能工程》的课程,课程的大作业要求大家自主编写机器人导航程序,包括:路径规划、轨迹规划、控制器、机器人建模等相关程序,因此特在此写下一篇博客,记录开发过程。这是第一篇博客,用于记录如何将自己编写的A星算法用于ROS中。python编写A星算法描述先声…

  • aop 实现原理_注解的实现原理

    aop 实现原理_注解的实现原理转载地址:https://my.oschina.net/elain/blog/382494一、什么是AOPAOP(Aspect-OrientedProgramming,面向切面编程),可以说是OOP(Object-OrientedPrograming,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入…

  • 怎样在桌面建立透明框放置文件夹_雨滴桌面怎么用

    怎样在桌面建立透明框放置文件夹_雨滴桌面怎么用一、效果1、YcDock-left2.0动图是1.0版的,2.0是第二张图,懒得截动图了下载地址:2、YcDock-bottom2.0下载地址:喜欢的小伙伴点赞收藏下载吧

  • 动画插件–AnimateCSS

    动画插件–AnimateCSS1.什么是Animate.css?其实swiper-animate就是参考Animate.css演变出来的一个插件, Animate.css和swiper-animate一样都是用于快速添加动画的, 所以会用swiper-animate就会用Animate.css2.Animate.css的使用:引入animate.css的文件 给需要执行动画的元素添加类名3.示例animated这个类名是animated.css的基类,但凡需要通过animated.css来添加动画,都需

  • 分布式计算概述_分布式计算与处理

    分布式计算概述_分布式计算与处理**分布式计算是当前计算机领域常见的名词,那么到底什么是分布式,什么又是分布式计算呢?今天和大家共同研究一下这个话题。**分布式计算的概念一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同目标(往往这个共同目标称为“项目”)分布式计算的优缺点优点:1.超大规模2.虚拟化3.高可靠性4.通用性5.高伸缩性6.按需服务7….

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号