打包Python独立运行时环境,python打包环境

  打包Python独立运行时环境,python打包环境

  这一次,在ubuntu上开发的python代码需要打包成可执行程序,交付给甲方.因为源代码不能直接交给甲方,所以想办法把python开发的源代码打包成可执行程序。注意是打包在ubuntu上的可执行程序,不是打包在window上的可执行程序,而是打包在windows上的可执行程序。

  这次用ubuntu打包python源代码的方法有点类似于用window。大致流程如下。

  1.在ubuntu上安装easy_install

  # sudo apt-getinstallpython-设置工具python-开发构建-基本

  2.下载并安装pyinstaller

  在网站上下载pyisntaller包。地址:http://www.pyinstaller.org/,下载相应的tar包。

  假设下载的软件包是pyinstaller_2.1.tar.gz

  然后,使用命令解压软件包。#tar -cfpyinstaller_2.1.tar.gz

  进入解压目录:#cdpyinstaller_2.1

  最后,运行命令安装py installer:# sudopyhonsetup . py install。

  如果中间没有错误,pyinstaller已经安装好了。

  3.打包python项目源代码

  python源代码的结构目录如下。

  共16个drwxrwxr-x2 jelly jelly 4096 mar 1415336013 configdrwxrwxr-x2 jelly jelly 4096 mar 141536013 database-rw-r-1 jelly 3333:13在r1415336013manager.py图中可以看到两个文件夹,两个py源文件和mian.py为主控。

  然后,用命令打包源代码。

  # py安装程序-F main.py

  然后,将生成如下所示的目录

  合计28 drwxrwxr-x3 Jelly Jelly 4096 mar 1415336018 builddrwxrwxr-x2 Jelly Jelly 4096 mar 1415336013 configdrwxrwxr-x2 Jelly jely 4096 336y Jelly 4096 mar 1415336018 Dist-RW-RW-1 Jelly Jelly 2 mar 1415336013 main . py-RW-RW15:18/main命令。

  但是,这个时候,就可以看出有问题了。这种打包方法只打包当前目录中的所有py文件,而不打包config和database文件夹,因此此时可执行文件没有完全打包。这时候我该怎么办?下一个。

  4.重新包装

  重新打包意味着修改它的main.spec文件,然后使用它进行打包。操作过程如下

  打开main.spec文件,并在修改它之前执行以下操作

  #-*-模式:python;编码:utf-8-block _ cipher=nonea=analysis([ main . py ],pathex=[/home/jelly/test],bing win _ no _ prefere _ redirects=False,win_private_assemblies=False,cinse a.zipped_data,cipher=block _ blies a.datas,[()boot loader _ ignore _ signals=False,strip=False,upx=True,runtime_tmpdir=None,console=

  #-*-模式:python;编码:utf-8-block _ cipher=nonea=analysis([ main . py ],pathex=[/home/jelly/test],bing win _ no _ prefere _ redirects=False,win_private_assemblies=False,cinse no archive=False(dict _ database)prefix= database )a . datas=dict _ databasedict _ config=tree((/home/jelly/test/config),prefix= contig a.zipped_data,cipher=block _ cipher(exe=exe)pyz

  pathex=[/home/jelly/test],

  因为这个路径是前面的工具自己生成的,所以我们添加的两个目录的绝对路径也是一致的。这个改造完成以来一直很好。

  5.编译并生成

  修改安装步骤4后,运行命令

  #pyinstaller mian.spec

  的打包程序现在包含两个次级文件夹。

  其实最后在window上打包生成可执行文件的过程是一样的,都是用pyinstaller打包,py installer也是用工具。

  非常感谢

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: