精华内容
下载资源
问答
  • Python文件编译成exe文件后,可以直接在Windows上运行,不需要再依赖Python环境,可以复制到其他电脑中直接使用,特别方便。 1.安装编译工具 pyinstaller是Python中将py文件编译成为exe文件的免费工具,特别好用,...


    将Python文件编译成exe文件后,可以直接在Windows上运行,不需要再依赖Python环境,可以复制到其他电脑中直接使用,特别方便。

    1.安装编译工具

    pyinstaller是Python中将py文件编译成为exe文件的免费工具,特别好用,在Windows中,pyinstaller依赖pywin32,所在如果打包有问题请先安装pywin32模块,安装命令如下:

    pip install pywin32
    pip install pyinstaller
    

    2.编译命令

    2.1 运行时出现dos命令窗口

    常用编译命令为:pyinstaller -F 待编译目标文件
    例如:

    pyinstaller -F test.py
    

    2.2 运行时不出现dos命令窗口

    在将带有tkinter等界面打包成exe时,运行exe文件的时候,会弹出一个dos命令窗口,这个窗口可以看到一些打印信息,如果想只运行tkinter 页面,去掉dos命令窗口,需要在打包的时候 加上: -w
    例如:

    pyinstaller -F test.py -w
    

    编译完成后,一般会在当前文件夹中生成一个dist的文件夹,编译后的exe文件就在该文件夹中。

    3.编译后exe文件太大问题

    3.1 可能遇到的问题

    很多时候,我们的Python脚本文件本身是很小的,才几十KB,但编译后达到几十MB甚至上百MB,主要原因是在编译时会把Python环境及库一起打包到exe文件中,如果我们的Python环境中安装了很多包,比如通过Anaconda安装的Python环境时,通过会安装了很多Python库,如果在此环境中进行编译,那么就会把所有的库带上,导致编译后的exe文件很大。

    3.2 解决办法

    为该文件单独创建相应的Python虚拟环境,只安装要编译Python文件所依赖的库(导入到该Python文件中的库),在该虚拟环境中安装pyinstaller编译工具(这点很重要),然后运行该虚拟环境,在虚拟环境下执行编译,这时文件就会小很多。
    亲测十分有效,单独创建Python虚拟环境后编译,exe文件大小由原来的95MB减少到16MB,运行速度也快了10倍,原来界面加载出来要40~50秒,现在只要不到5秒。

    3.3 Windows虚拟环境创建方法

    安装virtualenv:

    pip install virtualenv
    

    然后创建一个虚拟环境:

    virtualenv py2exe_env  # 命名请自定义
    

    创建完成以后,我们就会在创建的文件夹里发现虚拟环境命名的文件夹py2exe_env:

    在这里插入图片描述

    然后cd 到虚拟环境py2exe_env的Script目录下,输入如下命令启动虚拟环境:

    activate py2exe_env
    

    就可以在该虚拟环境中通过pip安装必要模块,注意:别忘了重新安装pyinstaller !

    安装完成后,在该虚拟环境中(虚拟环境启动状态下),cd到要编译文件目录下,输入编译命令:

    pyinstaller -F test.py -w  # 运行时不出现dos命令窗口
    

    或者:

    pyinstaller -F test.py  # 运行时出现dos命令窗口
    

    就可以将Python代码文件编译成较小的exe文件啦!

    参考:
    https://www.jianshu.com/p/2c7c7dd602e2
    https://www.zhihu.com/question/281858271
    https://blog.csdn.net/wuchenlhy/article/details/81947159

    展开全文
  • Python编译成exe

    千次阅读 2018-01-10 14:45:22
    方式1:编译成pyc文件(二进制的文件) 速度有所提高。我的一个代码从150s变成了130s。 操作方法:打开cmd,进入py文件的目录,输入下面命令  python3 -m py文件名  python3 -O -m py_compile py文件名 #这个也...
    python的编译有多种好处,其中主要有提高运行速度、代码保密

    方式1:编译成pyc文件(二进制的文件)

    速度有所提高。我的一个代码从150s变成了130s。

    操作方法:打开cmd,进入py文件的目录,输入下面命令
               python3 -m py文件名
               python3 -O -m py_compile py文件名  #这个也可以
          完成后,当前目录下会出现一个__pycache__文件夹,编译后的二进制文件pyc就在里面
     
    方式2:编译成exe文件
    一、首先安装 pyinstaller
    命令:
        pip3 install pyinstaller
    二、安装完成后,开始使用。进入要编译的py文件所在目录
        pyinstaller ./py文件名  #效果是有一堆的文件在dist文件夹下
        如果要编译成一个文件:
        pyinstaller --console --onefile ./py文件名  #在dist文件夹下只生成一个exe文件。
        
    初次运行,可能会出现 failed to create process,这是pip3的bug,路径的空格不能正常识别
    解决:
        进入C:\Program Files\python\3.5\Scripts,可以看到有一个pyinstaller-script.py和pyinstaller.exe
        文本编辑器打开pyinstaller-script.py.第一行的代码申明是这样的
        #!c:\program files\python\3.5\python3.exe
        加一个引号变成:#!"c:\program files\python\3.5\python3.exe"
    重新运行编译命令,即可。

    从运行速度上看,.exe和.pyc一样。但都大于py文件。exe文件的兼容性更好把,.pyc需要电脑安装有编译时相同的python版本。(.pyc的生成速度很快)

    问题解答:
    1.编译成pyc,还会出现.没有_path_属性的错误
    "Error while finding spec for 'fibo.py' (: 'module' object has no attribute 'path')"
    这是因为编译时,不应该使用
        python3 -m kill2next.py  #kill2next是文件名
    .py表示该模块(py)在包kill2next当中
    正确方法:
        python3 -m kill2next  #不要带后缀

    2.exe编译失败:
    UnicodeDecodeError:"gbk" codec can't decode byte 0xaa in position 160:illegal multibyte sequence
    解决:
    文件名改成英文


       
    展开全文
  • Python编译执行EXE

    2018-05-16 14:31:00
    python编译成exe文件:  1.pip install pyinstaller 2.pyinstaller -w -F xxxx.py 编译出来的文件以后台运行,只能在任务管理器看到该程序的进程,但是会有两个进程 3.pyinstaller -w xxx.py 编译后,会生成一个...

    python编译成exe文件:

      1.pip install pyinstaller 
      2.pyinstaller -w -F xxxx.py 编译出来的文件以后台运行,只能在任务管理器看到该程序的进程,但是会有两个进程
      3.pyinstaller -w xxx.py 编译后,会生成一个文件夹,里面有它的运行库文件和执行文件,运行后,只能在任务管理器看到该程序的进程,只有一个进程
      4.pyinstaller --F xxx.py 编译出来的文件运行后,会有一个黑窗口

    转载于:https://www.cnblogs.com/leixiansheng6f6/p/9045868.html

    展开全文
  • 但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。 二.pyinstaller在windows下的安装 使用命令pip install pyinstaller即可 在windows下,...
  • 运行如下安装命令: pip install pyinstaller==3.0 不要使用3.2版本,编译完成后会报Runtime Error, R6034错误. 3.0版本无此问题。 3. 打包 把.py或.pyw文件拷贝到pyinstaller所在目录 执行命令:p...

    1. 环境

    windows

     

    2. 安装

    准备文件:PyWin32 or pypiwin32 

    运行如下安装命令:  pip install pyinstaller==3.0

    不要使用3.2版本,编译完成后会报Runtime Error, R6034错误.

    3.0版本无此问题。

     

     

    3. 打包

    把.py或.pyw文件拷贝到pyinstaller所在目录

    执行命令: pyinstaller -F xxx.py ,会把生成的文件自动放到dist目录下,文件名默认为xxx.exe。

    常用参数说明:

    -F:把所有文件打包成一个.exe。

    -D:把所有文件打包成一个目录,里面包含可执行文件和所需库等其他文件。

    -n NAME:重新命名可执行文件。

    -w:打开打包后的程序,将不会弹出命令行窗口。

     

    4. 单独文件和目录比较

    目录的比单个文件尺寸要大;

    目录的比单个文件打开速度要快。

    在WIN7上打包,放到XP上,目录的打开失败,单个文件正常。

     

    详细参数说明见文档

    http://pythonhosted.org/PyInstaller/#general-options

    General Options

    -h, --help show this help message and exit
    -v, --version Show program version info and exit.
    --distpath=DIR Where to put the bundled app (default: ./dist)
    --workpath=WORKPATH
      Where to put all the temporary work files, .log, .pyz and etc. (default: ./build)
    -y, --noconfirm
      Replace output directory (default: SPECPATH/dist/SPECNAME) without asking for confirmation
    --upx-dir=UPX_DIR
      Path to UPX utility (default: search the execution path)
    -a, --ascii Do not include unicode encoding support (default: included if available)
    --clean Clean PyInstaller cache and remove temporary files before building.
    --log-level=LOGLEVEL
      Amount of detail in build-time console messages (default: INFO, choose one of DEBUG, INFO, WARN, ERROR, CRITICAL)

    What to generate

    -F, --onefile Create a one-file bundled executable.
    -D, --onedir Create a one-folder bundle containing an executable (default)
    --specpath=DIR Folder to store the generated spec file (default: current directory)
    -n NAME--name=NAME
      Name to assign to the bundled app and spec file (default: first script's basename)

    How to generate

    -d, --debug Tell the bootloader to issue progress messages while initializing and starting the bundled app. Used to diagnose problems with missing imports.
    -s, --strip Apply a symbol-table strip to the executable and shared libs (not recommended for Windows)
    --noupx Do not use UPX even if it is available (works differently between Windows and *nix)

    Windows and Mac OS X specific options

    -c, --console, --nowindowed
      Open a console window for standard i/o (default)
    -w, --windowed, --noconsole
      Windows and Mac OS X: do not provide a console window for standard i/o. On Mac OS X this also triggers building an OS X .app bundle.This option is ignored in *NIX systems.
    -i <FILE.ico or FILE.exe,ID or FILE.icns>--icon=<FILE.ico or FILE.exe,ID or FILE.icns>
      FILE.ico: apply that icon to a Windows executable. FILE.exe,ID, extract the icon with ID from an exe. FILE.icns: apply the icon to the .app bundle on Mac OS X

    Windows specific options

    --version-file=FILE
      add a version resource from FILE to the exe
    -m <FILE or XML>--manifest=<FILE or XML>
      add manifest FILE or XML to the exe
    -r <FILE[,TYPE[,NAME[,LANGUAGE]]]>--resource=<FILE[,TYPE[,NAME[,LANGUAGE]]]>
      Add or update a resource of the given type, name and language from FILE to a Windows executable. FILE can be a data file or an exe/dll. For data files, at least TYPE and NAME must be specified. LANGUAGE defaults to 0 or may be specified as wildcard * to update all resources of the given TYPE and NAME. For exe/dll files, all resources from FILE will be added/updated to the final executable if TYPE, NAME and LANGUAGE are omitted or specified as wildcard *.This option can be used multiple times.
    --uac-admin Using this option creates a Manifest which will request elevation upon application restart.
    --uac-uiaccess Using this option allows an elevated application to work with Remote Desktop.

    Windows Side-by-side Assembly searching options (advanced)

    --win-private-assemblies
      Any Shared Assemblies bundled into the application will be changed into Private Assemblies. This means the exact versions of these assemblies will always be used, and any newer versions installed on user machines at the system level will be ignored.
    --win-no-prefer-redirects
      While searching for Shared or Private Assemblies to bundle into the application, PyInstaller will prefer not to follow policies that redirect to newer versions, and will try to bundle the exact versions of the assembly.

    转载于:https://www.cnblogs.com/testlife007/p/4901507.html

    展开全文
  • 1.首先安装一个编辑器,下载链接放出链接: ...打开sublime3工具-->编译系统-->编译新系统 会出现如下界面将里面的文字改写{ "cmd":["C:/Python34/python.exe","-u","$file"]...
  • 背景:分享python编写的小脚本时,拷贝代码还缺各种环境,使用Pyinstaller将py可以打包成exe,直接运行即可 1、安装pyinstaller运行时所需要的windows拓展pywin32 2、安装pyinstaller pip install pyinstaller ...
  • 使用python3简单编写的FTP服务器,安装 pyinstaller组件可以打包程序,编译之前需要配置程序目录,执行目录下批处理可以打包成exe文件,运行后可以做简单的FTP服务器,代码来源于网上。
  • py文件打包成exe教程:python3.7 打包成exe程序, 本程序体验下载地址:python编译的贴吧图片下载工具 先上效果图 启动后是这样的: 按提示输入内容运行后是这样的: 上代码(基本都是最基本的语法,不多...
  • pyinstaller将Python脚本打包可执行程序,使在没有Python环境的机器上运行。 安装 # 建议先配置pip国内下载源,再进行安装 pip install pyinstaller 打包运行 例子:打包下面的card_main.py文件。 它是一个控制台...
  • PyInstaller工具可以把python解析器和脚本打包成一个可执行的文件,并不是编译成真正的机器码,打包成一个可执行文件后运行效率可能会降低,好处就是在使用者的机器上可以不用安装python和你的脚本依赖的库。...
  • python的文件类型主要分为3种,分别是源代码、字节代码和优化代码。这些代码都可以直接运行,不需要进行编译或者连接。这正是python语言的特性,...用python语言写的程序不需要编译成二进制代码,可以直接运行源代码...
  • Python第一天

    2021-03-13 16:29:36
    编译成JVM文件(.class文件) 第二步:将JVM文件通过java.exe执行,输出结果 3. 高级 ------- 不注重底层源码 4. 面向对象 -------- 既支持面向对象也支持面向过程 5. 可扩展 ----- 扩展的模块 6. 免费和开源 7. 可...
  • you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。 youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。 akshare:为方便人使用而创建的金融数据接口库。 图像处理 用来操作图像的...
  • Python Cookbook

    2013-07-31 22:33:26
    16.11 自动化py2exe将脚本编译成Windows可执行文件的过程 585 16.12 在UNIX中将主脚本和模块绑成一个可执行文件 587 第17章 扩展和嵌入 590 引言 590 17.1 实现一个简单的扩展类型 592 17.2 用Pyrex实现一个...
  • Python的文件类型

    千次阅读 2010-03-29 22:26:00
    Python的文件类型Python的文件类型主要分为3种,分别是源代码,字节代码和优化代码。...用Python语言写的程序不需要编译成二进制代码,可以直接运行源代码。“pyw”是程序开发图形用户接口(Graphical user
  • python学习第一天

    2016-06-04 18:36:59
    今天知道了python主要流行的有2.X和3.X版本,把语法过了一遍,总体感觉语法和C语言很类似,但是感觉字典这个比较新颖,还没有弄熟,看书感觉调试环境类似linux或者dos console 类似,暂时没有找到能像c语言编译器...
  • Python复习笔记

    2019-04-27 14:26:38
    而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。 但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序...
  • (7)运行make_exe.bat批处理调用p2exe将QuickLibDemo.py编译成QuickLibDemo.exe 的Windows 32位应用程序,并打包发布在QuickLib_20160618这样格式的文件夹内。直接拷贝该文件夹到其他Windows环境可直接运行无需安装...
  • python_制作Windows安装程序包

    千次阅读 多人点赞 2021-04-17 20:45:21
    打包方法请查看另一篇文章: python3_将多个.py文件打包成exe程序并添加图标 二、制作安装包 1、准备已经打包完成的exe文件,如下图 2、下载NSIS VNISEdit编译器,下载完成后,运行NSIS.exe,选择HM VNISEdit(编译...
  • 因有一个项目在windows下开发,在打包时发现Pyinstaller只能打包成exe,不能打成linux下的可执行文件,所以需要在服务器端搭建环境编译。特此记录! 注意,注意,注意!如果本机安装了python2,千万不要管他,使用...
  • 修复了setup.py 的参数,使得运行setup.bat可以正常编译成.exe成程序,可顺利运行 (1)指标模块可以自己写,也可以直接引用第三方库,例如talib 下载地址 https://pypi.python.org/pypi/TA-Lib (2)回测模块,不是本库...
  • python编写com组件问题

    2018-06-24 04:22:17
    现在的问题是,怎么把PyHello.py这个文件编译成dll, 然后在VBS中不依赖python的环境使用. 参考资料: https://zhuanlan.zhihu.com/p/22023698?refer=python-dev 用这个帖子中的方法,我没有成功 其它资料: ...
  • 1、python的原始代码在运行前都会被先编译成字节码; 2、并把编译的结果保存到一个一个的PyCodeObject中; 3、pyc 文件即是把PyCodeObject从内存中以marshal格式保存到文件后的结果; 4、下次执行的时候如果没有改动...
  • 通过pyinstaller xx.py可以把本源代码编译成xx.exe,但在64位的系统编译成xx.exe的程序在32位的操作系统运行不了。 # coding=utf-8 from Tkinter import * from tkFileDialog import * from openpyxl import ...
  • py2exe-0.6.9.win32-py2.7.zip

    2020-03-19 15:56:55
    py2exe是一个将python脚本转换windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。 py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win...
  • 2017.1.22 QucikLib MD2.08 TD2.07 (1)将数据存储结构由hash更改为STL的hashmap,不必再主动设置缓冲区大小,性能几乎没改变,内存...修复了setup.py 的参数,使得运行setup.bat可以正常编译成.exe成程序,可顺利运行
  • 所以最终的结果是我更喜欢Tkinter,用起来很简单,绿色环保,真正的跨平台,一个py文件到处运行(担心泄密就编译成pyc)。 很多人都认为TK的界面不够美观,不过导入Python自带的标准TTK主题库,界面非常Native,不输...

空空如也

空空如也

1 2 3
收藏数 49
精华内容 19
热门标签
关键字:

python3编译成exe运行

python 订阅