一、python生成exe文件

1.使用Anaconda Prompt

(1).打开Anaconda Prompt,

pip install PyInstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
# 使用了清华镜像
# 由于pyinstaller生成exe文件时会把所在的虚拟环境的所有包都进行打包,所以建议新建一个虚拟环境安装pyinstaller,并在新建的环境安装需要转exe文件的py文件import的包

(2).在Prompt切换到项目使用的环境,然后运行pyinstaller

pyinstaller -F -w  C:\Users\main.py
# -F 生成单一exe文件
# -w 不调用控制台

(3).生成的exe文件在Prompt的默认路径下的dist的文件夹下

2.使用命令行窗口cmd

(1).将三个环境变量设置好,重点是第三个pyinstaller文件夹所在的路径

# D:\CS\anaconda3(python.exe的路径)
# D:\CS\anaconda3\Scripts(pip.exe的路径)
# D:\CS\anaconda3\Lib\site-packages(pyinstaller等扩展包的路径)
# 每个人的安装路径不同,上面是我的安装路径sQW

(2).打开cmd

pip install PyInstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

(3).直接输入

pyinstaller -F -w C:\Users\main.py

(4).生成的exe文件在cmd的路径下的文件夹dist下

二、exe文件反编译成py文件

1.exe文件转pyc文件

(1).下载pyinstxtractor,网址:https://github.com/extremecoders-re/pyinstxtractor

# 这里我吐槽一下,知乎和CSDN上的相关文章给的安装包版本太老了,里面的imp包python3.4以后就不适用了,直接用会报错,还要花积分,建议从github上直接下载

(2).Prompt或cmd中

python pyinstxtractor.py main.py
#cmd中要将python.exe所在路径添加到环境变量

(3).在Prompt或cmd的路径下生成文件夹main.exe_extracted,可以找到main.pyc

2.pyc文件转exe

(1).安装反编译工具uncompyle6

pip install uncompyle6
# 模块原网址:https://github.com/rocky/python-uncompyle6
# 这是github上认可度最好的反编译工具,也是上面pyinstxtractor推荐的工具

(2).Prompt或cmd

uncompyle6 main.pyc > main.py
# 反编多个文件 uncompyle6 -o . *.pyc

(3).在Prompt或cmd的路径下生成main.py

参数总结:

  • -F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
  • -D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
  • -K, –tk 在部署时包含 TCL/TK
  • -a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
  • -d, –debug 产生debug版本的可执行文件
  • -w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
  • -c,–nowindowed,–console

使用控制台子系统执行(默认)(只对Windows有效)

pyinstaller -c xxxx.pypyinstaller xxxx.py --console
  • -s,–strip 可执行文件和共享库将run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用.
  • -X, –upx 如果有UPX安装(执行Configure.py时检测),会压缩执行文件(Windows系统中的DLL也会)(参见note)
  • -o DIR, –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下.
  • -p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
  • –icon=<FILE.ICO>
  • 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py
  • –icon=<FILE.EXE,N> 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
  • -v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
  • -n NAME, –name=NAME 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

python生成exe文件与exe文件的反编译相关推荐

  1. Python生成Windows可执行exe文件

    环境 python3.6.5 pyinstaller3.5 windows 10 下载地址 python:https://www.python.org/ftp/python/3.6.5/python- ...

  2. 利用python生成微信h5_Python的h5文件的创建与读取

    代码流程图:本章代码流程 这章是关于--make_dataset.py的 -------------------------------①------------------------------ ...

  3. python反编译加密文件_python打包的二进制文件反编译

    简介 Pyhton是一个脚本语言,在运行Python代码时,最终由Python解释器来执行.解释器就是Python的运行环境,但是除了开发人员,大部分人在使用时并不会安装Python.所以官方就提供了 ...

  4. 如何保护.net中的dll文件(防破解、反编译)

    .net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行.中间语言很容易被反编译,所以研究下如何有效的保护dll文件. ...

  5. 反编译apk文件查看源码,反编译apk获取资源

    之前做过反编译apk文件的,原本想的就是应该做下总结的,后来...不知道后来发生了什么,一定不是因为我懒了.总之,今天领导让我研究下一个口碑比较好的app,看下它某个功能怎么实现的,用的什么技术,又扒 ...

  6. apktool 反编译 java_APK文件使用ApkTool解包反编译和重新打包及签名

    前段使用一直使用一个手机APK软件,不过最近软件更新,出现了一个很讨厌的语音提示,于是想通过重新编译把语音提示去掉. [准备工作] 配置JAVA环境,到http://www.java.com/下载并进 ...

  7. APK文件使用ApkTool解包反编译和重新打包及签名

    前段使用一直使用一个手机APK软件,不过最近软件更新,出现了一个很讨厌的语音提示,于是想通过重新编译把语音提示去掉. [准备工作] 配置JAVA环境,到http://www.java.com/下载并进 ...

  8. 微信小程序反编译wxss文件缺失_小程序反编译,怎么找回微信小程序源码?

    看了很多反编译.找回微信小程序源码很多教程,各种问题导致都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程 ...

  9. 微信小程序反编译wxss文件缺失_小程序反编译

    看了很多反编译小程序.找回微信小程序源码很多教程,各种问题导致都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss丢失的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译 ...

  10. Python生成简易用户名及密码文件

    import redef generate_easy_username_password():"""生成简易用户名和密码:return:""" ...

最新文章

  1. 网易MySQL中间件的负载均衡策略及性能优化
  2. 纳米片晶体管是摩尔定律的下一步,也许是最后一步!
  3. C/C++ 头文件作用
  4. Linux系统查看分区文件系统类型
  5. 反问疑问_句子练习大全(反问、疑问、设问、病句等练习)
  6. Django06:视图层/上传文件/request 方法补充/FBV与CBV
  7. html canvas直线进度条,js+HTML5 canvas 实现简单的加载条(进度条)功能示例
  8. dbgview OutputDebugString输出函数
  9. linux   find acm time
  10. C语言图书管理系统(链表、文件功能齐全)
  11. 《那些年啊,那些事——一个程序员的奋斗史》九
  12. 谷歌/FOFA搜索引擎使用
  13. AUTOSAR DCM Configuration
  14. MFC 中 如何屏蔽Esc和Ente
  15. 一个web前端专科生面试后的感概
  16. linux不能删除文件命令,无法删除文件的解决办法(rm命令的使用)
  17. 常见数据库id号编码
  18. jupyter notebook 打开md文件
  19. 进制转换器的c代码实现
  20. HTML中padding作用

热门文章

  1. 移动web前端开发注意事项
  2. Surface Pro 7 综合评测——购买感受和使用重点【品控、性能、投影】
  3. Technica Engineering
  4. Ubuntu64位系统下安装吉林大学校园网客户端
  5. 基于 Roslyn 实现代码动态编译
  6. 【Proteus仿真】波形信号发生器(4种波形可选,频率可调)
  7. python抽奖小程序_python实现简单的抽奖小程序,抽奖的内容从文件里面读取
  8. VS2017安装扩展模块
  9. Mac更换JDK版本
  10. 【CRC】CRC推导(二)模二除法