本文转载自http://www.open-open.com/lib/view/open1342675735745.html
 
把用Python写好的脚本,可以用pyinstaller打包成.exe文件,方便发布,在其他电脑上脱离python语言环境而运行。
1、要求:
python3.5及以下版本,暂时不支持3.6版本。
我电脑python是3.5版本
我电脑安装的pyinstaller是3.2.1
 
2、打包 (以NIPT_analysis.py 为例)
a、去除代码中所有中文字符,包括注释。(指定编码的注释可以不去掉没有关系) 
b、 如果用到非官方的库,可能pyinstaller找不到该库,因此需要根据情况修改。
 
命令行:
注意:
(1)所有.py文件都不能有中文字符,否则会出现编码异常。
(2)执行上述命令后,在会生成dist目录,里面就有打包后的可执行文件。 
(3)启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果。(来源网络) 
       if __name__ == "__main__": 
           main()
(4)文件内容不能有中文,即使是注释中也不能有,否则出现如下错误。 (原自网络)
    codeString = fp.read() 
  File "C:\Python31\lib\codecs.py", line 300, in decode 
    (result, consumed) = self._buffer_decode(data, self.errors, final) 
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 557-558: invalid 
 data 
尝试把编码由cp936改为utf-8,也不可以,把文件中ASCII另存为UTF-8,也不行,有如下错误: 
  File "BlogConfig.py", line 1 
    \ufeff#!/usr/bin/python 
      ^ 
SyntaxError: invalid character in identifier 
(5)有些三方模块,比如我的statsmodels 在pyinstaller中找不着,需要做如下修改:
      
最后终于成功!!!在dist目录生成单一的NIPT_Analysis.exe文件,这个文件是可执行的。

Python脚本打包为exe文件的更多相关文章

  1. 【转载】将python脚本打包成exe文件

    exe文件也就是可以直接执行的文件.通常我们编好的带py后缀的脚本文件都是需要在有python的环境下执 行,每次通过Win + R打开运行窗口再输入powershell打开控制台,再千辛万苦地cd ...

  2. Python脚本打包成exe执行文件

    需求 一个教辅目录结构检查工具,目录结构是[书籍]-[章节]-[题目|答案]-[*.jpg],后台有个异步处理的服务,需要强依赖这个目录结构. 书籍解析是单独的pipeline,日志对用户不可见,这里 ...

  3. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  4. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  5. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  6. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  7. python进阶--打包为exe文件

    一.Python打包为EXE文件有不少方案,比较常用的有下面两种方式: 1.使用py2exe 详细介绍:http://www.cnblogs.com/jans2002/archive/2006/09/ ...

  8. 将python脚本打包为exe可执行文件

    技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...

  9. 将python源文件打包成exe文件

    pyinstaller 库的使用PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux.Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Pyt ...

随机推荐

  1. this.Hide()与this.Visible、Application.Exit与this.Close()区别

    首先明确this.Hide()和this.Visible作用完全一样,都是隐藏当前窗体,使其不可见:Application.Exit与this.Close()虽然都有关闭当前应用的作用,但作用不同. ...

  2. 【leetcode刷题笔记】Single Number

    题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...

  3. HDU1232 畅通工程,并查集

    这里要补充一些知识点,并查集三操作 1.找到父节点递归写法int Findf(int x){ if(father[x]!=x) father[x]=Findf(father[x]); return f ...

  4. linux用户管理与用户组的重要文件

    用户管理的2个重要文件:/etc/passwd和/etc/shadow. /etc/passwd文件里存放的是用户的信息,其中不包含密码:passwd文件中每一行代表一个用户,且每一行分为7个字段使用 ...

  5. C++写和读文件

    1.写: /*C++写文件和读文件*/ #include <stdio.h> #include <stdlib.h> int main() { FILE * fp; fp = ...

  6. Python调试时__name__ =='__main__'的妙用

    # python 文件自己运行,__name__的值就会等于__main__# 别的文件导入执行时,变成了导入文件的名字 例如: niuniu.py文件中,文件自己执行时,__name__的值就是__ ...

  7. 关键字volidate和transient(转)

    Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...

  8. mybatis学习第(一)天

    课程安排: Mybatis和springMVC通过订单商品案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 Mybatis框架原理 Mybatis的入 ...

  9. Linux下MySQL的数据文件存放在哪里的

    mysql> show variables like '%dir%';+-----------------------------------------+------------------- ...

  10. Parallel Programming-Concurrent Collections

    备忘:asp.net平台下线程安全集合类.   Class Description BlockingCollection<T> Provides blocking and bounding ...