精华内容
下载资源
问答
  • linux python 程序打包
    千次阅读
    2021-12-15 20:00:15

    使用PyInstaller将python打包成exe可执行程序。

    安装PyInstaller: pip install pyinstaller

    问题1:打包完成后会因为No such file or directionary报错,其原因在于有一些依赖性或自己写的程序里面包含了绝对路径,比如with open XXX as f这种在linux下只能引入绝对路径。

    解决方法:在PyInstaller安装包下的hook目录中,新建一个hook-xxx.py文件,比如报错的原因在matplotlib,那么新建hook-matplotlib.py文件,写入:

    from PyInstaller.utils.hooks import collect_data_files
    datas = collect_data_files("matminer")
    

    重新编译,问题解决。

    问题2:linux上打包完成后,报错找不到.so动态库文件,将该安装包复制在当前要生成exe的目录中,如matplotlib,把site-package中的matplotlib复制到当前目录中,打包:

    pyinstaller -F hello.py --add-data="matplotlib:."

    重新编译,问题解决。

    更多相关内容
  • 文章目录一、Windows下python环境搭建1.1 Miniconda的安装1.1.1 Miniconda的下载1.1.2 Miniconda的安装1.1.3 Miniconda初次相关设置及创建环境...(加图标并改可执行程序名称)二、 Linuxpython环境搭建 一、Windows下p

    一、Windows下python程序打包

    1.1 环境搭建(利用Miniconda)

    1.1.1 Miniconda的下载

    清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
    我选择的是(2022年5月27日21:49:12):Miniconda3-py39_4.12.0-Windows-x86_64.exe

    1.1.2 Miniconda的安装

    安装过程不多赘述,我这里安装到D盘:D:\ProgramData\Miniconda3

    在这里插入图片描述

    1.1.3 Miniconda初次相关设置及创建环境包

    打开minicondaAnaconda Prompt (Miniconda3)

    在这里插入图片描述

    更换镜像源(一行一行执行)

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    

    更新conda

    conda update conda
    

    创建一个环境包,命名为PMPyQt

    conda create -n PMPyQt python=3.9
    

    查看miniconda所有环境包列表 (带*表示处于该环境中):

    conda info --e
    

    进入/退出 PMPyQt环境:

    # 进入
    conda activate PMPyQt
    # 退出
    deactivate
    

    (如果想) 删除PMPyQt环境:

    conda remove -n PMPyQt --all
    

    1.1.4 miniconda环境包中库的初次相关设置(需进入该环境)

    查看环境中库列表

    conda list
    

    更新环境中所有库:

    conda update --all
    

    修改pip镜像(一行一行执行),并下载pip_search

    # 配置镜像源
    pip config set global.index-url https://pypi.doubanio.com/simple/
    # 配置信任主机名
    pip config set global.trusted-host pypi.doubanio.com
    # 下载 pip_search
    pip install pip_search -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com
    

    pip_search搜索想安装的pyinstaller

    pip_search pyinstaller
    

    安装pyinstaller库 (这里用pip安装,常规安装是:conda install <库名>):

    pip install pyinstaller
    

    (如果想) 卸载pyinstaller库 (这里用pip卸载,常规卸载是:conda remove <库名>):

    pip uninstall pyinstaller
    

    1.2 开始打包(打包需进入该环境)

    进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetimechinese_calendar库):

    conda activate PMPyQt
    # 安装所需库
    pip install datetime chinesecalendar
    

    测试源码如下:

    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    # @Time : 2022/5/28 12:32 
    # @Author : PoetMilk 
    # @Version:V 1.0
    # @File : main.py
    # @desc :
    
    import datetime
    from chinese_calendar import is_workday
    
    
    if __name__ == "__main__":
        now_time = datetime.datetime.now()
        str_is_work_time = "是休息日"
        if is_workday(now_time):
            str_is_work_time = "是工作日"
            
        dics_weekdays = {1: '星期一', 2: '星期二', 3: '星期三', 4: '星期四', 5: '星期五', 6: '星期六', 7: '星期日'}
        
        
        print("************************************")
        print("*           打印当前时间           *")
        print("************************************")
        
        print("当前时间:", now_time.__format__('%Y-%m-%d'), dics_weekdays[now_time.weekday()+1])
        print("是否是工作日:", str_is_work_time)
        print("************************************")
        input("按任意键退出...")
    

    我们进入项目文件夹 (这里我放桌面了):

    cd C:\Users\Administrator\Desktop\PMPyQt_demo_pack
    

    在这里插入图片描述

    打包!!如果想不显示终端界面(黑色的那个),需要加上在-F后加上-w参数 (别忘了空格):

    # -F(单个可执行文件) 
    # -n 程序名 
    # -w(去掉控制台窗口,这在GUI界面时非常有用) 
    # -i 图标.ico
    # -p 表示自定义需要加载的类路径(一般情况下用不到)
    
    pyinstaller -F main.py -n curr_time -i dog.ico
    

    生成的文件位置,及其运行代码效果:

    在这里插入图片描述

    二、 Linux下python程序打包

    2.1 环境搭建(利用Anaconda)

    2.1.1 Anaconda的下载

    因为miniconda我在Linux(我用的kali) 上安装有点问题,这里我选择安装Anaconda
    清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
    我选择的是(2022年5月28日15:02:12):Anaconda3-2022.05-Linux-x86_64.sh

    2.1.2 Anaconda的安装

    安装anaconda,安装步骤一步步往下 (这里注意有2个地方都输入yes),安装好了之后重新打开终端窗口

    sh Anaconda3-2022.05-Linux-x86_64.sh
    

    在这里插入图片描述在这里插入图片描述

    后面的操作就和Windows一样了:点击跳转

    2.2 开始打包(打包需进入该环境)

    同样的,进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetimechinese_calendar库):

    conda activate PMPyQt
    # 安装所需库
    pip install datetime
    pip install chinesecalendar
    

    测试源码和上面window一样
    我们进入项目文件夹:

    cd PMPyQt_demo_pack
    

    在这里插入图片描述

    打包可能会出TypeError: an integer is required (got type bytes)的错误,我们先运行以下命令:

    pip install --upgrade pip
    pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
    

    打包!!不知道为什么设置图标没用:

    # -F(单个可执行文件) 
    # -n 程序名 
    # -w(去掉控制台窗口,这在GUI界面时非常有用) 
    # -i 图标.ico
    # -p 表示自定义需要加载的类路径(一般情况下用不到)
    
    pyinstaller -F main.py -n curr_time
    

    生成的文件位置,及其运行代码效果:

    在这里插入图片描述

    展开全文
  • 此外,我找到的答案是打包一个python模块,而不是一个应用程序。我读了很多文章和官方文件,但似乎对此没有一个恰当的答案,虽然有一些解决办法可以达到同样的效果,我只想知道标准的方法是什么。在这是我的目录结构...

    我用python和PyQt5制作了一个GUI应用程序。我想打包这个应用程序,但似乎没有一个直接的方法来做到这一点。此外,我找到的答案是打包一个python模块,而不是一个应用程序。我读了很多文章和官方文件,但似乎对此没有一个恰当的答案,虽然有一些解决办法可以达到同样的效果,我只想知道标准的方法是什么。在

    这是我的目录结构:Moodly/

    Moodly/

    __init__.py

    controller.py

    logic.py

    models.py

    view.py

    resoure.py

    style.py

    sounds/

    notify.wav

    message.wav

    setup.py

    MANIFEST.in

    setup.cfg

    run.py

    moodly.png

    Moodly.desktop

    我想实现的目标是:给用户一个Moodly的tar文件。用户提取它,运行命令

    ^{pr2}$

    在终端中,安装程序将所有文件放在适当的位置并创建一个Moodly.桌面文件可能在usr/local/share/applications中单击哪个用户可以运行应用程序。在

    我的实现方法:

    设置.pyfrom setuptools import setup

    setup(

    name="Moodly",

    version="1.0",

    author="Akshay Agarwal",

    author_email="agarwal.akshay.akshay8@gmail.com",

    packages=["Moodly"],

    include_package_data=True ,

    url="http://github.com/AkshayAgarwal007/Moodly",

    entry_points = {

    'gui_scripts': [

    'moodly = Moodly.controller:main',

    ],

    },

    # license="LICENSE.txt",

    description="Student Intimation system",

    # long_description=open("README.txt").read(),

    # Dependent packages (distributions)

    )

    清单.ininclude Moodly/sounds/notify.wav

    include Moodly/sounds/message.wav

    现在没有了设置.cfg我运行命令:python setup.py install

    这成功地将Moodly安装到/usr/lib/python-3.4/site-packages

    伴随着声音目录。和现在从终端开始,当我情绪低沉地输入时(如设置.py)我的GUI应用程序启动成功。在

    现在我只需要设置来创建Moodly.桌面与moodly.png在usr/local/share/applications中,我试图通过以下方式实现:

    设置.cfg[install]

    install_data=/usr/local/share/applications

    将此添加到设置.pydata_files = [("Moodly", ["moodly.png","Moodly.desktop",])],

    但这似乎以某种方式复制python-3.4/site-packages/Moodly中的文件,而不是指定的目的地,但它以前与distutils一起工作得很好

    我使用过的其他链接:

    所以我尝试的方法,有多少是正确的,标准的方法是什么。我怎么可能把它放在Moodly.桌面在正确的地方或者什么是更好的替代方法来完成整个过程。在

    此外,使用Pyinstaller会是一个更好的主意。Pyinstaller会把PyQt5、requests和beautifulsoup4(我使用过的外部模块)打包成我不想要的应用程序。我想使用setuptools提供的install_requires选项,不需要让用户下载他们已经拥有的模块。在

    展开全文
  • Python打包程序

    千次阅读 2020-12-04 23:39:19
    到py2exe的官网下载程序,注意对应的python版本,比如所用的python版本为2.7,那么就下载适配2.7版本的py2exe软件下载完成后安装(与普通软件安装方式相同)2将要转换的python脚本放到Python文件夹内在python的目录...

    到py2exe的官网下载程序,注意对应的python版本,比如所用的python版本为2.7,那么就下载适配2.7版本的py2exe软件

    下载完成后安装(与普通软件安装方式相同)

    2

    将要转换的python脚本放到Python文件夹内

    在python的目录下面,通常是(C:\Python27,看你安装Python的位置)建立setup.py文件,文件中输入以下代码:

    from distutils.core import setup

    import py2exe

    setup(console=["将要转换的文件名称.py"])

    3

    从终端(cmd)进入Python27目录,输入以下命令

    python setup.py py2exe

    这样便完成了从.py文件到 .exe文件的转换

    生成的软件在dist文件夹内

    2014-4-10阅读267 评论0

    一、windows下用py2exe打包python程序生成exe文件

    1、py2exe是一种python发布的打包工具,可以把python脚本转换成windows下的可执行程序,不需要安装python便可运行。

    2、首先需要安装py2exe,我的python是2.7版本,我下的是py2exe-0.6.9.win32-py2.7,下载完毕后直接下一步即可。

    3、编写例程代码:新建一个文件夹my_py2exe,编写hello.py程序:

    # hello.py

    def main():

    print "Hello, World!"

    if __name__ == '__main__':

    main()

    为该程序写一个小脚本:setup.py

    # setup.py

    from distutils.core import setup

    import py2exe

    setup(console=["hello.py"])

    不要带中文

    这样,在my_py2exe文件夹里就有hello.py和setup.py两个文件了。

    4、打开doc命令提示符,改变工作路径进入my_py2exe文件夹(我的在D盘),

    cd D:\Python\my_py2exe

    5、执行命令:

    c:\Python27\python d:\Python\my_py2exe\setup.py py2exe

    到此完毕,上面的命令执行后将产生两个名为dist和build的子目录,其中dist目录包含了hello.exe, python27.dll, library.zip这些文件。

    二、(linux系统)用于源代码发布的sdist命令

    1、和windows类似,首先要写那两个文件hello.py和setup.py

    #hello.py

    print 'hello world'

    #setup.py

    from distutils.core import setup

    setup(name='hello',

    version='1.0',

    py_modules=['hello']

    2、直接运行命令:

    $ python  setup.py  sdist

    3、现在文件夹中除了原来的两个文件外还会有两个:MANIFEST和dist,在dist中有名为hello-1.0.tar.gz的tar存档文件,现在就可以将它发布给其他人了。

    展开全文
  • 最近项目中需要Python打包,看到网上也没有很详细的资料,于是做了一些示例程序。研究了一下,Python如何在Windows和Linux打包 背景 Python版本:3.6. Windows版本:Windows 10 家庭中文版 64-bit (10.0, Build...
  • 我当时用的是pyinstaller去打包打包环境为Ubuntu16.4,打包过程顺利,但是生成的二进制文件放到centos6或者Ubuntu9等低版本linux系统中去跑的时候发现glib2.x找不到,网上查了下发现是在一些老版本中的glibc版本低...
  • python 程序要有相应的 Python 环境,但某些特定场景下,我们可能并不愿意这么麻烦的去配置这些环境(比如将写好的脚本发给客户进行操作),如果可以提前将程序打包成 Windows平台的 .exe 文件或者是Linux下的 ...
  • 现代的Python应用程序打包和分发工具PyOxidizer PyOxidizer是用于生成嵌入Python的二进制文件的实用程序。 PyOxidizer的总体目标是使复杂的打包和分发问题变得简单,因此应用程序维护人员可以专注于构建应用程序,而...
  • 有一个基于 flask 框架开发的 web 项目, 通过 pyinstaller -F app.py打包并运行后, 发现有 2 个进程(mac, linux, windows 都是), 刚开始以为是 flask 框架的问题, 一直没检索到答案, 后来同事告诉我, 他手上的一个...
  • 如何将Python程序打包linux可执行文件方法1.安装环境2.打包程序3.执行文件 方法 前段时间尝试使用Python的tkinter制作了一个简单的丑丑的的图形化界面,现在想把它打包成Linux可执行文件,具体步骤如下: 1.安装...
  • 而且我找到的答案是打包python模块而不是应用程序.我已经阅读了各种文章和官方文档,但似乎仍然没有对此做出正确的答案,尽管我可以通过几种解决方法实现相同的目标,我只是想知道标准方法是什么.这是我的目录结构:...
  • 主要介绍了如何把python项目部署到linux服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • linux环境打包python工程为可执行程序

    万次阅读 多人点赞 2019-03-14 15:36:21
    本次又个需求,在ubuntu上面开发的python代码程序需要打包成一个可执行程序然后交付给甲方,因为不能直接给源码给甲方,所以寻找方法将python开发的源码打包成一个可执行程序,注意是打包成在ubuntu上面的可执行程序...
  • 如何为Linux打包Python应用程序

    千次阅读 2020-07-15 21:12:49
    使python应用程序可安装在基于Debian的操作系统(例如Debian或Elementary OS )上的一种方法是使用dh_virtualenv工具。 它构建了一个.deb软件包,该软件包将Python虚拟环境包装在应用程序周围,并在安装时进行部署。...
  • Python项目打包部署Linux服务上

    千次阅读 多人点赞 2020-11-22 17:47:13
    项目可打包成可执行的exe程序,或者打包成通过命令安装启动的安装包。其中打包成可执行文件工具用的最多的是pyinstaller,该工具支持windows和linux。而打包成安装包可以是setuptools来安装,或者使用buildout进行...
  • 这里是最简单的python3打包方式 仅仅展示了简要流程 正文 新建~/app文件夹 文件夹结构app ----project ----setup.py setup.py from setuptools import setup setup( name="package_name", version=...
  • python打包成exe文件的方法 方法1:常规骚操作,pyinstaller 打包,前提需要安装pyinstaller,进入项目路径进行打包操作(命令方式) pip install pyinstaller pyinstaller.exe --onefile --windowed main.py (单...
  • Python越来越被大家所关注,随着越来越多的人开始学习Python代码大家其实或多或少都会遇到一些问题,而今天我们要来解决的问题就是将Python文件打包成为一个可以执行的EXE文件,就像QQ、微信只需要点一下就可以执行...
  • 电脑环境: ...选择stable releases里面的 64-bit安装版本,建议安装到C:\\Python目录下,安装后运行 python--version 确认下是否安装成功 安装pip3.8: 如果python没有自带pip3.8,可以通过如下sh...
  • 最近写了一个小小的程序,需要进行封装exe,为了简单,就直接用了pyinstaller这个模块,对于python3.6版本的童鞋来说,简直方便的不要。下面就给大家介绍一下如何用pyinstaller去封装程序为exe程序。 首先,需要安装...
  • LinuxPython代码打包工具Nuitka使用说明
  • 使用PyInstaller打包python文件 在和myscript.py同目录下执行命令:pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件, 你会发现dist目录下面有一堆...
  • 1.安装 pip install pyinstaller 2.到py文件路径下 pyinstaller xxx.py ,在当前路径下会生成两个文件夹,build和dist,其中dist文件夹下有和py文件同名的文件 3.dist可以考到其他电脑上,然后./xxx 执行即可. ...
  • python程序打包有一些方法,py2exe和pyinstaller。其中py2exe的安装比较方便,但是打包起来比较麻烦;而pyinstaller的安装很麻烦,不过打包时候很简单:它会自动分析你引用的包,把他们聚合在一起。比如打包之前的...
  • 关于在linux环境对python文件进行打包 我的linux环境为
  • pyinstaller linux系统下打包python源文件 - who_care - 博客园
  • Python3如何在Windows和Linux打包

    千次阅读 2020-12-09 06:32:14
    小小的研究了一下,Python如何在Windows和Linux打包,并把程序源码以及各个记录上传到Github上与大家分享。2、背景Python版本:3.6.8Windows版本:Windows 10 家庭中文版 64-bit (10.0, Build 18362) (18362.19h1_...
  • python脚本打包为exe可执行文件

    千次阅读 2022-04-20 18:20:28
    在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题。python作为一门通用编程语言,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,441
精华内容 14,576
关键字:

linux python 程序打包