精华内容
下载资源
问答
  • [272]如何把Python脚本导出为exe程序

    万次阅读 多人点赞 2018-07-08 14:07:34
    pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。 但它不是跨编译的,也就是说在...

    一.pyinstaller简介

    pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行

    最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。 但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。

    二.pyinstaller在windows下的安装

    使用命令pip install pyinstaller即可 在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32

    出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功

    三.打包

    打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。

    基本语法: pyinstaller options myscript.py

    常用的可选参数如下:
    –onefile 将结果打包成一个可执行文件
    –onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
    –paths=DIR 设置导入路径
    –distpath=DIR 设置将打包的结果文件放置的路径
    –specpath=DIR 设置将spec文件放置的路径
    –windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
    –nowindowed 使用控制台子系统执行(默认)(只对windows有效)
    –icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效)

    如pyinstaller --paths=“D:\Queena” guess_exe.py

    四.小实例(windows下)

    写好游戏文件guess_exe.py,代码如下:

    # -*- coding:utf-8 -*-
    # 摇3次骰子,当总数total,3<=total<=10时为小,11<=total<=18为大
    __author__ = 'zhou'
    
    import random
    import time
    
    
    def enter_stake(current_money):
        '''输入小于结余的赌资及翻倍率,未考虑输入type错误的情况'''
        stake = int(input('How much you wanna bet?(such as 1000):'))
        rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
        small_compare = current_money < stake * rate
        
        while small_compare == True:
            stake = int(input('You has not so much money ${}!How much you wanna bet?(such as 1000):'.format(stake * rate)))
            rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
            small_compare = current_money < stake * rate
    
        return stake,rate
    
    
    def roll_dice(times = 3):
        '''摇骰子'''
        print('<<<<<<<<<< Roll The Dice! >>>>>>>>>>')
        points_list = []
        while times > 0:
            number = random.randrange(1,7)
            points_list.append(number)
            times -= 1
        
        return points_list
    
    
    def roll_result(total):
        '''判断是大是小'''
        is_big = 11 <= total <= 18
        is_small = 3 <= total <= 10
        if is_small:
            return 'Small'
        elif is_big:
            return 'Big'
    
    
    def settlement(boo,points_list,current_money,stake = 1000,rate = 1):
        '''结余'''
        increase = stake * rate
        if boo:
            current_money += increase
            print('The points are ' + str(points_list) + ' .You win!')
            print('You gained $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
        else:
            current_money -= increase
            print('The points are ' + str(points_list) + ' .You lose!')
            print('You lost $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
       
        return current_money
    
    
    def sleep_second(seconds=1):
        '''休眠'''
        time.sleep(seconds)
    
    # 开始游戏
    def start_game():
        '''开始猜大小的游戏'''
        current_money = 1000
        print('You have ${} now.'.format(current_money))
        sleep_second()
        while current_money > 0:
            print('<<<<<<<<<<<<<<<<<<<< Game Starts! >>>>>>>>>>>>>>>>>>>>')
            your_choice = input('Big or Small: ')
            choices = ['Big','Small']
            if your_choice in choices:
                stake,rate = enter_stake(current_money)
                points_list = roll_dice()
                total = sum(points_list)
                actual_result = roll_result(total)
                boo = your_choice == actual_result
                current_money = settlement(boo,points_list,current_money,stake,rate)
            else:
                print('Invalid input!')
        else:
            sleep_second()
            print('Game Over!')
        sleep_second(2)
    
    
    if __name__ == '__main__':
        start_game()
    

    之后命令行,切换到guess_exe.py的目录下, 输入:

    pyinstaller --onefile --nowindowed --icon="D:\Queena\PyCharmProjects\dist1\computer_three.ico" guess_exe.py
    

    就会在当前文件下形成build文件夹、dist文件夹和.spec文件。 dist里就是guess_exe.exe可执行文件。

    附加

    1、定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)
    (温馨提示:再cmd下tab键又补全功能哦)

    2、再添加上你要转换的文件地址(两者之间有空格)

    pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。(加不加凭个人喜好)

    1. 加-F的效果

    image.png

    1. 不加-F
      image.png

    2. 不加-w的效果
      (加-w的话,就没有后面的那个黑框了

    6、-F指令

    注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹

    7、-p指令

    这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加

    展开全文
  • 主要介绍了如何把Python脚本导出为exe程序的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 导出python依赖包

    2020-01-02 17:19:16
    源主机 pip freeze > requestments.txt # 编辑此文件对需要的包进行删减 pip download -r requirements.txt -d /tmp/paks/ #下载...目标主机(离线主机,已有python环境) pip install --no-index --...

    源主机

    pip freeze > requirements.txt # 编辑此文件对需要的包进行删减
     
    pip download  -r requirements.txt  -d  /tmp/paks/ #下载requirements.txt中包至 /tmp/paks/下
    
    

    目标主机(离线主机,已有python环境)

     pip install   --no-index   --find-links=/packs/   pandas 或      
     pip install   --no-index   --find-links=/packs/   -r   requirements.txt (也可能是 --find-link)
    
    

     

    展开全文
  • Python导出为exe程序

    千次阅读 2017-11-24 16:18:44
    pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。 但它不是跨编译的,也就是说在...
    一.pyinstaller简介
    

    pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行

    最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。

    可运行在Windows,Mac和Linux操作系统下。

    但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。


    二.pyinstaller在windows下的安装

    使用命令pip install pyinstaller即可

    在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32



    出现Successfully installed pyinstaller-3.1.1 pypiwin32-219即表示安装成功

    三.打包

    打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。

    基本语法:

    pyinstaller options myscript.py
    常用的可选参数如下:
    --onefile 将结果打包成一个可执行文件
    --onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
    --paths=DIR 设置导入路径
    --distpath=DIR 设置将打包的结果文件放置的路径
    --specpath=DIR 设置将spec文件放置的路径
    --windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
    --nowindowed 使用控制台子系统执行(默认)(只对windows有效)
    --icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效)


    如pyinstaller --paths="D:\Queena" guess_exe.py

    四.小实例(windows下)

    写好游戏文件guess_exe.py,代码如下:

    __author__ = 'qa-2'
    # -*- coding:utf-8 -*-
    # 摇3次骰子,当总数total,3<=total<=10时为小,11<=total<=18为大
    import random
    import time
    
    def enter_stake(current_money):
        '''输入小于结余的赌资及翻倍率,未考虑输入type错误的情况'''
        stake = int(input('How much you wanna bet?(such as 1000):'))
        rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
        small_compare = current_money < stake * rate
        while small_compare == True:
            stake = int(input('You has not so much money ${}!How much you wanna bet?(such as 1000):'.format(stake * rate)))
            rate = int(input("What multiplier do you want?你想翻几倍?(such as 2):"))
            small_compare = current_money < stake * rate
        return stake,rate
    
    def roll_dice(times = 3):
        '''摇骰子'''
        print('<<<<<<<<<< Roll The Dice! >>>>>>>>>>')
        points_list = []
        while times > 0:
            number = random.randrange(1,7)
            points_list.append(number)
            times -= 1
        return points_list
    
    def roll_result(total):
        '''判断是大是小'''
        is_big = 11 <= total <= 18
        is_small = 3 <= total <= 10
        if is_small:
            return 'Small'
        elif is_big:
            return 'Big'
    
    def settlement(boo,points_list,current_money,stake = 1000,rate = 1):
        '''结余'''
        increase = stake * rate
        if boo:
            current_money += increase
            print('The points are ' + str(points_list) + ' .You win!')
            print('You gained $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
        else:
            current_money -= increase
            print('The points are ' + str(points_list) + ' .You lose!')
            print('You lost $' + str(increase) + '.You have $' + str(current_money) + ' now.' )
        return current_money
    
    def sleep_second(seconds=1):
        '''休眠'''
        time.sleep(seconds)
    
    
    # 开始游戏
    def start_game():
        '''开始猜大小的游戏'''
        current_money = 1000
        print('You have ${} now.'.format(current_money))
        sleep_second()
        while current_money > 0:
            print('<<<<<<<<<<<<<<<<<<<< Game Starts! >>>>>>>>>>>>>>>>>>>>')
            your_choice = input('Big or Small: ')
            choices = ['Big','Small']
            if your_choice in choices:
                stake,rate = enter_stake(current_money)
                points_list = roll_dice()
                total = sum(points_list)
                actual_result = roll_result(total)
                boo = your_choice == actual_result
                current_money = settlement(boo,points_list,current_money,stake,rate)
            else:
               print('Invalid input!')
        else:
            sleep_second()
            print('Game Over!')
            sleep_second(2)
    
    if __name__ == '__main__':
        start_game()
    
    

    之后命令行,切换到guess_exe.py的目录下,
    输入:

    pyinstaller --onefile --nowindowed --icon=" D:\Queena\PyCharmProjects\dist1\computer_three.ico" guess_exe.py




    就会在当前文件下形成build文件夹、dist文件夹和.spec文件。
    dist里就是guess_exe.exe可执行文件。


    如果有打包错误,具体看build里的warn*.txt文档,里面详细记载了错误的原因。一般都是库丢失。
    spec文件告诉PyInstaller如何去处理脚本。它对脚本名以及大多数pyinstaller的可选参数进行加密。PyInstaller就是通过执行spec文件的内容来build the app。

    原文出处:http://www.jianshu.com/p/8dbdfbd3716d

    展开全文
  • 任何应用程序通常需要设置安装所需并依赖一组类库来满足工作要求。要求文件是指定和一次性安装包的依赖项具体一整套方法。 Python项目依赖,生成requirements.txt 有两种方法 1、进入需要生成文件的目录,执行 pip ...

    任何应用程序通常需要设置安装所需并依赖一组类库来满足工作要求。要求文件是指定和一次性安装包的依赖项具体一整套方法。

    Python项目依赖,生成requirements.txt 有两种方法

    1、进入需要生成文件的目录,执行

     pip freeze > requirements.txt
    

    此方法会包含环境所有的依赖包。

    2、安装pipreqd

    pip install pipreqs
    

    进入需要生成文件的目录执行:pipreqs ./ (或者直接 pipreqs 实际路径)

    在此时可能会遇见

    UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 776: illegal multibyte sequence
    

    这个错误.

    解决方法:指定编码格式

    pipreqs ./  --encoding=utf8
    

    如果要安装requirements.txt中的类库内容,那么你可以执行:

      pip install -r requirements.txt
    
    展开全文
  • Postman的脚本可以导出多种语言的脚本,方便二次维护开发。 Python的requests库,支持python2和python3,用于发送http/https请求 使用unittest进行接口自动化测试 01、环境准备 1、安装python(使用python2或3都可以...
  • Python脚脚本本导导出出为为exe程程序序的的方方法法 这篇文章主要介绍了如何把Python脚本导出为exe程序的方法本文通过实例代码给大家介绍的非常详细对大家 的学习或工作具 一定的参考借鉴价值,需要的朋友可以参考下...
  • 1. 安装pipreqs pip install pipreqs 2.导出requriements.txt文件 cd 到项目目录 pipreqs ./ 或者pipreqs ./ --encoding=utf8 3.安装依赖模块 pip install -r requriements.txt
  • 模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。 分类 在Python中模块分为以下几种: 系统内置...
  • 如果在执行程序中直接使用本程序导出python模块,可无需导出成pyd库。 例如,有程序A,其python扩展模块名称为ExtA,在A程序中调用ExtA模块的初始化函数initExtA()后,可直接可在程序中使用ExtA模块的方法。如下...
  • 在github上找到一个好用的Python程序将excel导出json等格式的好东西,特意记录下github网址文档很详细,代码也不多
  • 导出python程序所依赖的第三方包的列表:pip freeze > requirements.txt 将requirements.txt拷贝到需要运行该python程序的机器上,执行pip install -r requirements.txt 即可安装程序所依赖的包。 ...
  • python 程序迁移

    千次阅读 2017-05-02 08:43:17
     在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误。  除了一遍又一遍对着被抛出错误去重新install各种...
  • python程序打包成exe文件 ①打开cmd,输入“pip install pyinstaller”,回车,等待安装完成 ②输入“pyinstaller -F 文件所在路径”,回车,等待打包 ③打包完了可以看到导出的文件路径 ④导出完成,...
  • pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。 可运行在Windows,Mac和Linux操作系统下。 但它不是跨编译的,也就是说在...
  • Python程序转换Markdown为HTML页面,可以导出为word或者pdf等其他文件格式
  • Rust导出Python/Node.js可用的DLL库

    千次阅读 2019-01-10 19:51:33
    在处理一些计算密集型,或者系统交互较多的时候,使用编译后的程序,动态库效率会高不少,而且把相应功能封装成动态库可以便于复用,隐藏脚本语言的实现细节 一般制作DLL都是用C/C++等语言来写,不过现在又多了一种...
  • python程序设计题库-python编程题库

    千次阅读 2020-10-30 22:57:11
    广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。...热烈庆祝2018年2月董付国老师《python程序设计(第2版)》出版18个月...
  • 如何将python程序打包成DLL

    千次阅读 热门讨论 2020-12-12 16:43:45
    如何将python程序打包成DLL前言Step1:用cython生成python脚本的.h和.c文件Step2:生成dll文件Step3:测试dll文件 前言 将python程序打包成DLL文件,然后用C++调用生成的DLL文件,这是一种用C++调用python的方法,这...
  • NULL 博文链接:https://cyl-python.iteye.com/blog/775836
  • docker打包python程序

    千次阅读 2018-12-29 13:34:38
    docker安装文档: https://docs.docker.com/docker-for-mac/#check-versions ...docker打包步骤(pipenv shell虚拟环境下python项目打包): 项目最终结构: docker_test ├── Dockerfile ├─...
  • Python程序设计模拟试题

    千次阅读 2019-03-13 13:51:05
    Python程序设计模拟试题 考试时间:90分钟 单项选择题(20%) 5*4 关于print函数的使用,错误的是哪一个?( ) 可以不传参数 可以传一个参数 可以传多个参数 end参数只能放在最后一个传递 下列会发生短路运算的是...
  • 导出有关 Prometheus.io 的 Python 垃圾收集器的指标。 安装 pip install gc_prometheus 用法 只需import gc_prometheus即可注册指标。 请参阅 prometheus_client以了解如何通过 HTTP 服务器导出指标。 如果您使用...
  • 需求提取器是作为一种易于访问且易于使用的软件而开发的,它能够从Word文档中提取需求。 需求提取器借助用户设置的正则表达式设法识别需求ID。 提取的需求将保存到Excel文件中。
  • Python 程序打包为跨平台应用

    千次阅读 2019-11-04 23:31:16
    Python 一个被广泛应用生产中的简单而伟大的编程语言,本篇主要介绍编者将一个用于大数据生产环境中,实现网页数据挖掘的 Python 功能程序,打包为跨平台、运行与受限的集群云平台环境的过程。 Python 的广泛应用,...
  • 搭建python环境 双击打开docker 然后下载镜像: docker pull python:3.5 查看是否成功: docker run -v /Users/zjl/python3i/py3image:/py3image -w /py3image python:3.5 python a.py -v参数,冒号前为宿...
  • 如何将Python程序中的.py文件打包程序exe可执行程序呢? 1打开pycharm,如下图所示: 2.在打开的setting的界面中进行如下操作: 3、在下面界面进行如下操作 都选择好之后点击【Install Package】等待安装...
  • 使用cx_Freeze打包Python程序

    千次阅读 2016-01-29 11:22:00
    cx_Freeze可以把Python程序打包成可执行文件,跟py2exe和py2app一样。但是cx_Freeze是跨平台的,可以运行Python的平台,就可以使用cx_Freeze。支持Python 2.6以上的版本,包括Python 3。 一、安装  最新的发布...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,602
精华内容 19,440
关键字:

怎么导出python程序

python 订阅