python打包linux_python打包部署到linux - 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下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。


    展开全文
  • 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简洁教程
    官方文档

    展开全文
  • Python是解释性语言,我们如何将普通的Python项目(含有依赖,redis)打包成可运行的一个文件(实际为文件夹吧)。下面描述一个基本流程,供大家参考。以下流程是我们实际线上REDIS数据修改的一个需求,可以简单的...

    Python是解释性语言,我们如何将普通的Python项目(含有依赖,redis)打包成可运行的一个文件(实际为文件夹吧)。下面描述一个基本流程,供大家参考。以下流程是我们实际线上REDIS数据修改的一个需求,可以简单的理解为将数据A改为B,项目地址可见https://github.com/antianchi/data_process_20190429.git

    1. 整个项目结构描述:
      我项目的包只有util、process,main.py为入口文件。其余文件夹为打包而服务。
    2. 创建setup.py文件:
      #coding=utf-8
      from distutils.core import setup
      setup(
          name='data_process',
          version='4.0',
          author='安天池',
          author_email='861710865@qq.com',
          maintainer='安天池',
          maintainer_email='xxx@qq.com',
          url='www.eastcom.com',
          packages=["","process","util"]
      )

       

    3. 在terminal中执行命令:pip freeze > requirements.txt 。生成当前项目的依赖配置文件,此文件中的内容包含了整个项目的依赖,我们只需要保留非系统的依赖即可,例如我的项目依赖了REDIS,requirements.txt 文件内容如下:
      configparser==3.5.0
      croniter==0.3.25
      redis==3.2.1

       

    4. 使用命令>pip download -d packages/ -r requirements.txt 将系统外的依赖下载到packages目录,执行完毕目录如下:
    5. 执行打包命令python setup.py sdist,执行完毕后,生成的文件所在位置。忘记描述,所有的命令执行,直接在Pycharm的terminal中执行即可,免得打开命令提示符。
    6. 将生成的data_process-4.0.zip拷贝到文件系统,然后解压,将packages,requirements.txt 放入解压后的文件夹,此文件夹内容如下:
    7. 执行项目,由于我的电脑已经将redis的额外依赖安装了,是可以直接执行python main.py的,否则将会报错,说缺少redis,那么此时,你就需要在当前文件夹下执行命令:pip install --no-index --find-links=packages/ -r requirements.txt将依赖安装到系统。
    8. 若你的系统缺少pip命令,那么你需要去下载pip-19.1.tar.gz,下载地址https://pypi.org/project/pip/#files此处找到,此tar文件针对linux;若你是在WIn上,可以执行python get-pip.py,安装pip,此文件的下载也在刚才的地址,演示就不提供了。


       
    展开全文
  • 之前在前面的 Python的模块与包 文章中具体的介绍了模块,也介绍了模块创建与发布的步骤。 ... 假如你自己写了一个自我感觉很不错的程序,那么如何将这个程序打包封装成...本篇文章将主要介绍在linux系统下对python...

    之前在前面的 Python的模块与包 文章中具体的介绍了模块,也介绍了模块创建与发布的步骤。

    文章地址:https://blog.csdn.net/Mr_fengzi/article/details/90767007

    假如你自己写了一个自我感觉很不错的程序,那么如何将这个程序打包封装成模块,之后就可以很方便地引用自己的模块去实现相关要求呢?

    本篇文章将主要介绍在linux系统下对python创建的模块进行打包并发布的具体操作步骤。

     以上一篇 python实现GIF动图倒放的效果 为例,我们将其打包成模块,并进行发布,可以方便以后的调用。GIF动图倒放 的文章地址:https://blog.csdn.net/Mr_fengzi/article/details/91148655


    以下我们都在linux中的Terminal输入命令行进行操作:

    1.首先创建一个目录(gif),之后可以存放相关模块文件,并跳转到该目录下。

    [kiosk@foundation0 ~]$ mkdir gif
    [kiosk@foundation0 ~]$ cd gif

    2.用vim命令创建一个文本文件,并将之前写好的模块程序写入保存到该文件中,文件以.py结尾

    [kiosk@foundation0 gif]$ vim gif.py

    3.将下面的程序写入文本文件中

    # ImageSequence: 会将动图分割成每一帧的图片;
    import os
    
    from PIL import  Image, ImageSequence
    def gif_reverse(src_file, dst_file):
        try:
                # 打开文件, 并起一个别im
                with Image.open(src_file) as im:
                    # 判断图片文件是否为动图?
                    if im.is_animated:
                        # 对于图片进行反转
                        images = [image.copy()  for image in ImageSequence.Iterator(im)][::-1]
                        # 将反转的图片保存成新的动图;
                        images[0].save(dst_file, save_all=True, append_images=images[1:])
    
        except BaseException as e:
            print("动图反转错误:" , e)
        else:
            print("[%s] 反转为 [%s]成功!" %(src_file, dst_file))
    
    
    def gif_split(src_file, dst_dirname):
        """
        将gif动图分割为一个个图片
        :param src_file: 分割的gif文件
        :param dst_dirname: 存储图片的目录
        :return:
        """
        try:
            # 打开文件, 并起一个别im
            with Image.open(src_file) as im:
                # 判断图片文件是否为动图?
                if im.is_animated:
                    # 依次将动图的每个图片保存到文件中;
                    index = 0
                    for image in ImageSequence.Iterator(im):
                        # 获取存储文件的绝对路径;
                        filename = '%s.png' %(index)
                        # 为了跨平台, Linux拼接: /, Windows拼接: \   C:\User\python
                        full_filename = os.path.join(dst_dirname, filename)
                        image.save(filename)
                        index += 1
        except BaseException as e:
            print("动图分割失败: ", e)
        else:
            print("动图分割成功, 保存在[%s]目录中" %(dst_dirname))
    
    
    
    if __name__ == '__main__':
        gif_reverse('doc/cat.gif', 'doc/cat1.gif')

    4.用vim命令在gif目录下创建一个setup.py文件,将用于以后的安装

    [kiosk@foundation0 gif]$ vim setup.py

    5.setup.py文件中要写入固定格式的内容,之后才能成功安装,要写入的内容如下:

    #从Python发布工具导入"setup"函数
    from distutils.core import setup
    
    setup(
        name='gif',
        version='0.0.1',  #版本号
        py_modules = ['gif'],
        author='你的姓名',
        author_email='你的邮箱地址',
        url='模块链接',
        description='动图的快速分割与反转'
    )

    6.利用python setup.py build 进行模块的创建

    [kiosk@foundation0 gif]$ python3 setup.py build

    7.利用python setup.py sdist 进行模块的发布

    [kiosk@foundation0 gif]$ python3 setup.py sdist

    8.利用tree命令查看所有目录与文件的所属关系,如下:

    [kiosk@foundation0 gif]$ tree
    .
    ├── build
    │   └── lib
    │       └── gif.py
    ├── dist
    │   ├── gif-0.0.1
    │   │   ├── build
    │   │   │   └── lib
    │   │   │       └── gif.py
    │   │   ├── gif.py
    │   │   ├── PKG-INFO
    │   │   ├── __pycache__
    │   │   │   └── gif.cpython-37.pyc
    │   │   └── setup.py
    │   └── gif-0.0.1.tar.gz
    ├── gif.py
    ├── MANIFEST
    └── setup.py
    
    7 directories, 10 files

    9.可以看到在dist目录下有一个安装包 gif-0.0.1.tar.gz ,对其进行解压

    [kiosk@foundation0 dist]$ tar xf gif-0.0.1.tar.gz

    10.对模块进行安装

    [kiosk@foundation0 dist]$ python3 setup.py install

    11.接下来就可以使用 import gif 导入装好的模块了

     

    展开全文
  • python打包运行在Linux

    千次阅读 2019-10-09 17:01:19
    工具在window下可以打为exe,在Linux下可以打为执行程序 # 安装PyInstaller: pip install pyinstaller # 进入程序目录,用以下命令执行你的python文件 # 会生成dist目录 pyinstaller yourprogram.py # 进入dist下...
  • python pyinstaller打包Linux版)

    万次阅读 2017-12-25 18:51:19
    针对python3版本(作者使用python3.5.1解释器) 1.安装pip过程 apt-get install python3-pip pip3 install --upgrade pip 2.下载源码包 pip3 download pyinstaller 3.下载依赖库 apt-get install zlib1...
  • linux程序打包 使用的是pyinstaller 打开终端 sudo pip pyinstaller 报错 是pip出现的bug sudo vi /usr/bin/pip 最后三行改成下所示 from pip import main if name == ‘main’: sys.exit(main._main()) 输入:wq ...
  • 咨询下,windows下开发的python程序,能不能直接在windows下打包linux下可执行文件,在linux下装依赖包装不明白了,求老司机给普及下!
  • Linux下使用pyinstaller打包python程序

    万次阅读 2018-09-30 15:24:38
    下载pyinstaller 使用pip3下载源码: pip3 download pyinstaller (注意下载的位置,使用pwd命令查看) 也可以使用第三方下载,直接下载到指定的目录:...tar...
  • linux下使用pyinstaller打包python脚本

    千次阅读 2018-06-14 12:43:47
    最近给运维写一个系统维护的python脚本,但是被告知生产环境有很多服务器没有安装python解释器,于是在网上搜索多pyinstaller解决方案,本文简单记录之。 下载pyinstaller。 最新的pyinstaller版本为2.0版本,...
  • linux环境打包python工程为可执行程序

    千次阅读 2019-03-14 15:36:21
    本次又个需求,在ubuntu上面开发的python代码程序需要打包成一个可执行程序然后交付给甲方,因为不能直接给源码给甲方,所以寻找方法将python开发的源码打包成一个可执行程序,注意是打包成在ubuntu上面的可执行程序...
  • 听说pyinstaller多平台支持的比较好,考虑在linux(redhat 6 32-bit)上装个pyinstall, 不过真的是遇到太多问题了。。。下面是安装和使用流程: 安装使用流程 1. 首先给系统装个easy_install, 如果装...
  • Python开发 之 Python3打包(windows/linux)详解

    万次阅读 多人点赞 2020-04-13 09:17:52
    文章目录1、唠唠叨叨2、背景3、Python打包工具3.1、py2exe3.2、cx_Freeze3.3、PyInstaller4、Windows打包4.1、单个文件打包4.1.1、核心源码4.1.2、程序运行4.1.3、打包4.1.4、打包后效果4.2、多个文件打包4.2.1、...
  • linux下将Python脚本打包为可执行文件

    千次阅读 2017-04-27 13:51:46
    一. 下载pyinstaller链接二. 解压无需安装,解压即可... 输入命令,进行打包 命令格式: pyinstaller_path/pyinstaller.py -F source.py 命令执行后,在当前目录中会出现一个dist目录。生成的可执行文件在这个目录下。
  • 事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyinstaller的使用方法,找到pyinstaller有一个-p参数: 1.设置导入...
  • PyInstaller是一个十分神奇的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包Python 程序可以在没有安装 Python 的环境中运行(包括引用的第三方库),也可以...
  • 网上有很多介绍在pycharm中怎么使用virtualenv ,但是后续在linux部署并不是很详细,以下为一个python项目本地调试,服务器部署的操作记录: 回顾一下:最简单粗暴部署方式: 本地通过idea开发后,生成...
  • 成功解决打包时不能import自定义的包或库出现运行exe时No module named 缺少包 目录 解决问题 解决方法 T1、转移 T2、采用下列方法 T3、添加路径 解决问题 打包时不能import自定义的包或库的情况,...
  • 背景: 利用setuptools来实现,所以先安装setuptools,其实Python2.7.9及之后的版本都自带安装setuptools了,无需在另外安装 如果没有安装setuptools的直接下载源码包解压安装就行了 示例:以linux环境为例 1....
  • Python项目打包发布方法

    万次阅读 多人点赞 2020-03-01 19:31:21
    目前python打包工具有多个,目前比较好用的为pyinstaller,该工具可以支持在window和linux下使用。 在windows下,大小为几十K的源文件打包成exe文件,可能为几十兆,原因是把程序所引用的库文件也一起打包在一起。...
1 2 3 4 5 ... 20
收藏数 34,368
精华内容 13,747
关键字:

python打包linux