zoukankan      html  css  js  c++  java
  • python py文件转换成exe

    1.首先学会了最简单的方法

             1)pip install pyinstaller  安装pyinstall

             2)pyinstaller  aaaa.py 转换,会在当前目录下建两个文件夹,其中一个文件夹里就有exe

      注,这种方式更适合于没有界面的python程序,因为是自带控制台的,有界面的python程序反而会很尴尬,因为这种方法会先弹一个控制台出来,再弹你写的界面

    2.后来发现可以实现没有控制台的,加个参数就可以

        pyinstaller -w aaaa.py

    -F  打独立的exe

    -i   指定图标

    -w 去掉控制台

    但是发现了新的问题,打包wxpython失败,打完的包运行不起来:原因可能是依赖的三方的包,这个还不知道要怎么解决

    3.以上问题解决了,原因曾经也遇到过,就是项目的解释环境和installers安装的解释环境不是一个;installer 安装在了默认的python解释环境下,打包的程序在另一个解释程序下;这种情况如果没有引入第三方包,不会出问题,但是如果引用了第三方的方,就会 出现默认的环境下的installers找不到项目环境下安装的三方包,而使得打好的包不能运行(https://www.cnblogs.com/mghhzAnne/p/10529745.html),解决办法跟以前的那个问题一样,要么就把installers安装在项目环境下,要么项目用默认的解释环境(这里我用了后者,因为我不知道前者怎么操作,后者用pip就可以安装了)

    4.还有一个问题需要注意,就是生成的exe是在cmd 当前文件目录下生产的dist文件夹下,

      注:我把pyinstaller的路径写到环境变量里了

    5.pyinstaller说明文档:https://pyinstaller.readthedocs.io/en/stable/installation.html

    pyinstaller安装的时候,会默认安装很多其他的包,如果想移植到其他地方用,需要把其他包也拷贝过去,也可以报错提醒哪个考哪个

  • 相关阅读:
    java 开发面试题小整理(二)
    Java 字符串比较小知识
    适配器、工厂模式、线程池、线程组、互斥锁、Timer类、Runtime类、单例设计模式(二十四)
    多线程、死锁、线程安全、同步方法、代码块、休眠、守护线程、Thread、Runnable(二十三)
    RabbitMQ的几种典型使用场景
    SQL一些问题
    Redis和Memcached的区别
    Mongodb 使用场景和不使用场景
    Adapter as a WCF Binding
    ASP.NET MVC使用Filter解除Session, Cookie等依赖
  • 原文地址:https://www.cnblogs.com/mghhzAnne/p/10763552.html
Copyright © 2011-2022 走看看