python编译linux可执行文件_linux 编译python文件为可执行文件 - CSDN
精华内容
参与话题
  • 使用PyInstaller打包python文件 在和myscript.py同目录下执行命令:pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件, 你会发现dist目录下面有一堆...

    1.安装PyInstaller

        pip install pyinstaller

        pyinstaller --version

    2.使用PyInstaller打包python文件

      在和myscript.py同目录下执行命令:
    pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,
    你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件
    
    
    pyInstaller支持单文件模式,只需要执行:
    pyinstaller -F mycript.py
    你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。


    展开全文
  • 1、安装pyinstaller pip install pyinstaller 2、编译 pyinstaller -F -w game.py (-F表示...pyinstaller -F -w -i bitbug_favicon.ico game.py (-i用来设置编译成exe文件的图标,后面跟.ico格式的图片文件) ...

    背景:

    Python 程序都是脚本的方式,一般是在解析器里运行,如果要想要给别的计算机使用,需要提前安装Python解析器和相关包才可以运行,为了在 Windows(或其它系统里) 里方便发布,我们将.py文件,编译成一个可执行文件,并且打包所需要库文件,只需要点击一个可执行文件运行,而无需安装Python和相关库文件。这样发布给用户使用何不美哉。

    我们的主角 :PyInstaller

    PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了。

    PyInstaller将 Python应用程序冻结(打包)在Windows,GNU / Linux,Mac OS X,FreeBSD,Solaris和AIX下的独立可执行文件中。
    与类似工具相比,PyInstaller的主要优势在于PyInstaller可与Python 2.7和3.5-3.7一起使用;由于透明压缩,它可生成较小的可执行文件;它是完全多平台的;并且使用OS支持来加载动态库,从而确保完全兼容。

    PyInstaller的主要目标是开箱即用地与第三方软件包兼容。这意味着,使用PyInstaller,使外部软件包正常工作所需的所有技巧已 集成在PyInstaller本身中,因此无需用户干预。您将不需要在Wiki中寻找技巧,也可以对文件或设置脚本进行自定义修改。例如,完全支持PyQt,Django或matplotlib之类的库,而无需手动处理插件或外部数据文件。

    使用

    1.安装pyinstaller
    pip install pyinstaller
    
    2.进入安装工作环境
    1. Win+R运行打开CMD
      在这里插入图片描述
      在这里插入图片描述

    2. 进入工作目录,即所编译.py文件的路径
      右键点击Python文件,属性中即可获得路径。
      在这里插入图片描述
      利用cd命令进入工作目录:

      cd C:\Users\张小胖\Desktop
      

      在这里插入图片描述

    3. 生成不自定义图标的exe文件
    pyinstaller -F -w game.py  (-F表示打包单个文件,-w是为了打开exe时候不弹出黑框)
    
    4.生成带自定义图标的exe文件

    在这里插入图片描述

    pyinstaller -F -w -i use.ico demo.py  (-i用来设置编译成exe文件的图标,后面跟.ico格式的图片文件)
    

    PyInstaller 支持的常用选项

    -h,--help 查看该模块的帮助信息
    -F,-onefile 产生单个的可执行文件
    -D,--onedir 产生一个目录(包含多个文件)作为可执行程序
    -a,--ascii 不包含 Unicode 字符集支持
    -d,--debug 产生 debug 版本的可执行文件
    -w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
    -c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
    -o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
    -p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
    -n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

    PyInstaller 会对脚本进行解析,并做出如下动作:

    1. 在工作目录生成 helloworld.spec 文件;

    2. 创建一个 build 文件夹;

    3. 写入一些日志文件和中间流程文件到 build 文件夹;

    4. 创建 dist 文件夹;

    5. 生成可执行文件到 dist 文件夹;

    6. 如果编译中出现错误,会生成debug.log的日志文件;

    内部流程
    C:\Users\张小胖\Desktop>pyinstaller -F -w demo.py
    46 INFO: PyInstaller: 3.6
    47 INFO: Python: 3.8.2
    47 INFO: Platform: Windows-10-10.0.18362-SP0
    49 INFO: wrote C:\Users\张小胖\Desktop\demo.spec
    50 INFO: UPX is not available.
    51 INFO: Extending PYTHONPATH with paths
    ['C:\\Users\\张小胖\\Desktop', 'C:\\Users\\张小胖\\Desktop']
    51 INFO: checking Analysis
    52 INFO: Building Analysis because Analysis-00.toc is non existent
    52 INFO: Initializing module dependency graph...
    54 INFO: Caching module graph hooks...
    78 INFO: Analyzing base_library.zip ...
    2072 INFO: Processing pre-find module path hook   distutils
    2073 INFO: distutils: retargeting to non-venv dir 'c:\\users\\张小胖\\appdata\\local\\programs\\python\\python38\\lib'
    4270 INFO: Caching module dependency graph...
    4365 INFO: running Analysis Analysis-00.toc
    4367 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
      required by c:\users\张小胖\appdata\local\programs\python\python38\python.exe
    4630 INFO: Analyzing C:\Users\张小胖\Desktop\demo.py
    4757 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
    c:\users\张小胖\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py:208: SyntaxWarning: "is" with a literal. Did you mean "=="?
      if setting is None or setting is '':
    6324 INFO: Processing module hooks...
    6324 INFO: Loading module hook "hook-certifi.py"...
    6327 INFO: Loading module hook "hook-distutils.py"...
    6330 INFO: Loading module hook "hook-encodings.py"...
    6390 INFO: Loading module hook "hook-lib2to3.py"...
    6396 INFO: Loading module hook "hook-pydoc.py"...
    6397 INFO: Loading module hook "hook-selenium.py"...
    6408 INFO: Loading module hook "hook-sysconfig.py"...
    6409 INFO: Loading module hook "hook-xml.dom.domreg.py"...
    6410 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
    6416 INFO: Loading module hook "hook-xml.py"...
    6418 INFO: Loading module hook "hook-_tkinter.py"...
    6555 INFO: checking Tree
    6555 INFO: Building Tree because Tree-00.toc is non existent
    6556 INFO: Building Tree Tree-00.toc
    6668 INFO: checking Tree
    6668 INFO: Building Tree because Tree-01.toc is non existent
    6669 INFO: Building Tree Tree-01.toc
    6723 INFO: Looking for ctypes DLLs
    6755 INFO: Analyzing run-time hooks ...
    6759 INFO: Including run-time hook 'pyi_rth__tkinter.py'
    6762 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
    6765 INFO: Including run-time hook 'pyi_rth_certifi.py'
    6775 INFO: Looking for dynamic libraries
    6862 WARNING: lib not found: pywintypes38.dll dependency of c:\users\张小胖\appdata\local\programs\python\python38\lib\site-packages\win32\win32evtlog.pyd
    6870 WARNING: lib not found: pywintypes38.dll dependency of c:\users\张小胖\appdata\local\programs\python\python38\lib\site-packages\win32\win32api.pyd
    6925 WARNING: lib not found: pywintypes38.dll dependency of c:\users\张小胖\appdata\local\programs\python\python38\lib\site-packages\win32\win32wnet.pyd
    7017 INFO: Looking for eggs
    7018 INFO: Using Python library c:\users\张小胖\appdata\local\programs\python\python38\python38.dll
    7019 INFO: Found binding redirects:
    []
    7025 INFO: Warnings written to C:\Users\张小胖\Desktop\build\demo\warn-demo.txt
    7089 INFO: Graph cross-reference written to C:\Users\张小胖\Desktop\build\demo\xref-demo.html
    7130 INFO: checking PYZ
    7130 INFO: Building PYZ because PYZ-00.toc is non existent
    7134 INFO: Building PYZ (ZlibArchive) C:\Users\张小胖\Desktop\build\demo\PYZ-00.pyz
    7971 INFO: Building PYZ (ZlibArchive) C:\Users\张小胖\Desktop\build\demo\PYZ-00.pyz completed successfully.
    7989 INFO: checking PKG
    7989 INFO: Building PKG because PKG-00.toc is non existent
    7989 INFO: Building PKG (CArchive) PKG-00.pkg
    10434 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
    10460 INFO: Bootloader c:\users\张小胖\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\bootloader\Windows-64bit\runw.exe
    10460 INFO: checking EXE
    10460 INFO: Building EXE because EXE-00.toc is non existent
    10461 INFO: Building EXE from EXE-00.toc
    10463 INFO: Appending archive to EXE C:\Users\张小胖\Desktop\dist\demo.exe
    10474 INFO: Building EXE from EXE-00.toc completed successfully. 
    

    写在最后:
    Name:风骨散人,目前是一名双非在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!名字的含义:我想有一天我能有能力随心所欲不逾矩,不总是向生活低头,有能力让家人拥有富足的生活而不是为了生计而到处奔波。“世人慌慌张张,不过是图碎银几两。偏偏这碎银几两,能解世间惆怅,可让父母安康,可护幼子成长 …”
    文章主要内容:
    Python,C++,C语言,JAVA,C#等语言的教程
    ACM题解、模板、算法等,主要是数据结构,数学和图论
    设计模式,数据库,计算机网络,操作系统,计算机组成原理
    Python爬虫、深度学习、机器学习
    计算机系408考研的所有专业课内容
    目前还在更新中,先关注不迷路。微信公众号,cnblogs(博客园),CSDN同名“风骨散人”

    如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
    感谢大家的阅读!😘你的点赞、收藏、关注是对我最大的鼓励!

    展开全文
  • 以下内容假定已安装好Python 2.4/2.5一、下载并编译pyinstaller(只需做一次,以后直接做第二步)1.下载pyinstaller,现在的版本是1.3(1)wget ...

    以下内容假定已安装好Python 2.4/2.5
    一、下载并编译pyinstaller(只需做一次,以后可直接做第二步)
    1.下载pyinstaller,现在的版本是1.3
    (1)wget http://pyinstaller.hpcf.upr.edu/source/1.3/pyinstaller_1.3.tar.gz

    2.解包进入源码目录
    (1)tar zxv pyinstaller_1.3.tar.gz
    (2)cd pyinstaller-1.3/source/linux

    3.编译源代码
    (1)python Make.py 生成python的 .pyc文件

    如无错误,则出现如下提示(只有一行):
    Now run "make" to build the targets: ../../support/loader/run ../../support/loader/run_d

    (2)make 连接生成linux的 .o 文件

    4.生成编译配置文件
    (1)python Configure.py 生成config.dat配置文件

    二、编译独立运行的python可执行文件

    1.生成spec文件
    python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py

    参数说明:
    --onefile 生成单文件
    --upx 生成压缩的文件(可减小执行文件体积,需先安装upx软件包)


    2.生成最终的可执行文件
    python pyinstaller-1.3/Build.py linuxlaptop.spec

    执行完成后将在当前目录生成可执行的linuxlaptop文件,如有问题欢迎与我交流:linuxlaptop.cn。
    原文:http://bbs.chinaunix.net/thread-1328460-1-1.html

    ============================个人实践=============================
    系统:Ubuntu 8.0.4
    安装相关包:apt-get install libc6-dev python-dev zlib1g-dev
    cd source/linux
    python ./Make.py
    make

    引用

    cd ../../
    python Configure.py
    /pyinstaller-1.3/Makespec.py --onedir --icon=img/imac.ico my.py
    python /pyinstaller-1.3/Build.py my.spec


    这时会提示pyinstaller-1.3中的几个包语法错误,估计源码包是在window下调试产生unix不识别的字符,典型的是换行符。
    安装dos2unix:sudo apt-get install tofrodos
    dos2unix /pyinstaller-1.3/pyinstaller-1.3/optparse.py......(6个文件左右)

    再运行:python /pyinstaller-1.3/Build.py my.spec
    搞定,生成了distmy目录,里头有好多.o文件,类似于win下的dll:)

    展开全文
  • python文件打包为windows linux可执行的二进制文件 日期:2018年08月15日 环境准备 确保.py文件在当前python环境下可正常运行 python环境建议:python3.5(官方版)pyinstaller 3.3.1 anaconda3.6...

    将python文件打包为windows/linux下可执行的二进制文件

    日期:2018年08月15日

    环境准备

    • 确保.py文件在当前python环境下可正常运行
    • python环境建议:python3.5(官方版)pyinstaller 3.3.1
    • anaconda3.6环境可能出问题(本人遇到过,github有人遇到类似问题,有人回复表示疑似是anaconda所致)
    • pyinstaller当前版本在python3.5下表现最好。

    打包成可执行文件

    尝试以下将py文件打包成(假设你的文件是script.py,以windows平台为例,–onefile 是一种options)

    pyinstaller options script.py
    

    生成的可执行文件位于dist目录下,尝试运行script.exe,若可正常运行,万事大吉,结束。

    可能出现的问题

    与scipy相关

    许多错误都是由 scipy 引发

    若提示缺少scipy._lib.messagestream解决方法如下:

    (1)首先生成中间文件.spec(上一步已经生成过了,可以不生成)

    pyi-makespec options script.py
    

    (2)打开.spec文件

    找到hiddenimports,将其后的空列表[]改成 ['scipy._lib.messagestream'] ,保存。

    (3)从 .spec 编译文件

    pyinstaller option script.spec
    

    莫名其妙的缺少dll

    打包成一个exe ( option: - - onefile)可执行文件固然方便,有时候也会引发莫名其妙的dll缺失的问题,若此问题出现了,把 - -onefile这个选项删掉就好,此时,可执行文件为dist/script/script.exe 。

    参考文档
    pyinstaller简洁教程
    官方文档

    展开全文
  • linux程序打包 使用的是pyinstaller 打开终端 sudo pip pyinstaller 报错 是pip出现的bug sudo vi /usr/bin/pip 最后三行改成下所示 from pip import main if name == ‘main’: sys.exit(main._main()) 输入:wq ...
  • python project 编译Linux可执行版本 --2017.11.18 1.使用工具 pyinstaller2.安装方法 (1)可以直接去官网下载:http://www.pyinstaller.org/downloads.html (2)或者pip方式下载:pip install pyinstaller3
  • Python是解释性语言,我们如何将普通的Python项目(含有依赖,redis)打包成可运行的一个文件(实际为文件夹吧)。下面描述一个基本流程,供大家参考。以下流程是我们实际线上REDIS数据修改的一个需求,可以简单的...
  • linux环境打包python工程为可执行程序

    千次阅读 2019-03-14 15:36:21
    本次又个需求,在ubuntu上面开发的python代码程序需要打包成一...不是打包成在window上的可执行程序,如果需要打包成windows上的可执行程序请参照此博客,链接:windows下打包python源码成可执行文件 本次在ubun...
  • 咨询下,windows下开发的python程序,能不能直接在windows下打包成linux可执行文件,在linux下装依赖包装不明白了,求老司机给普及下!
  • 在Windows下把python转化成可执行程序还是比较简单,用py2exe就可以了。Linux下比较方便的有这么几种:1. py2installer
  • 移植Python到arm linux系统

    千次阅读 2017-09-21 08:38:07
    编译环境:ubuntu-12.0.4 编译器:gcc arm-arago-linux-gnueabi Python版本:3.6.2 Python安装包文件名:Python-3.6.2.tgz ...3. 复制移植文件到arm文件系统 具体步骤: 1.将安装包复制到新建
  • 这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装。   一、下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下...
  • Python 将代码文件编译成二进制执行文件 安装PyInstaller pip install PyInstaller 编译 ...编译后,在dist目录下会生成二进制可执行文件。 Windows系统下,python代码文件编译成exe格式二进制...
  • Linux下安装python-opencv

    万次阅读 2015-11-27 10:22:17
    Python 【原创】Liu_LongPo 转载请注明出处【CSDN】http://blog.csdn.net/llp1992 系统:Ubuntu 14.04 python : 2.7.10 opencv : 2.4.9 OpenCv1、下载 opencv 源码 下载2、解压到任意目录 unzip opencv-...
  • python 下载Python 源码包下载下载python源码压缩包安装详解 步骤 tar xf Python-3.5.2.tgz cd Python-3.5.2 ./configure --prefix=/usr/local --enable-shared make make install 命令详解 Linux下源码的安装一般由...
  • linux环境将python程序做成可执行

    千次阅读 2014-11-08 15:54:10
    linux环境将python程序做成可执行 作者: xuxiyao8888 时间: 2009-12-23 21:55:00 出处:http://blog.chinaunix.net/u3/114149/showart_2360747.html 一、下载并编译pyinstaller(只需做一次,以后可直接做第二步...
  • python 文件后缀名 .py .pyc .pyw .pyo .pyd

    万次阅读 2018-05-07 12:51:19
    以 py 扩展名的文件Python 源码文件,由 python.exe 解释,在控制台下运行。可用文本编辑器读写。 pycpycpyc 以 pyc 为扩展名的是Python编译文件。其执行速度快于 py 文件且不能用文本编辑编辑查看。所以...
  • [TODO] 用python程序调用C/C++编译可执行文件 ************************华丽的分割线************************ step1:cppexec.cpp #include <iostream> int add_func(int a,int b) {  return a+b...
  • Linux-ubuntu16.04 Python3.5配置OpenCV3.2

    千次阅读 2017-03-23 19:12:27
    首先创建一个空的文件夹,进入文件夹执行如下命令,如我创建的文件夹是opencv-pythoncd opencv-python git clone https://github.com/opencv/opencv.git也可以直接进入网址OpenCV_Download下载 使用git下载后应有一...
  • 有人在讨论 Python 代码是编译执行还是解释执行?这个问题还可以换一种说法: Python编译型语言还是解释型语言?回答这个问题前,我们先弄清楚什么是编译型语言,什么是解释型语言。 所谓编译执行就是源代码...
1 2 3 4 5 ... 20
收藏数 65,176
精华内容 26,070
关键字:

python编译linux可执行文件