ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

win10: pyinstaller在python2和python3环境下的适应性配置

2021-02-20 18:35:04  阅读:252  来源: 互联网

标签:exe pyinstaller python cmd win10 python3 python2


win10:pyinstaller在python2和python3环境下的适应性配置

前言

pyinstaller是一个非常优秀的python可执行程序打包工具,在windows下打包成.exe文件,在linux打包成linux下可执行文件。
最近,需要在python2和python3环境下分别使用pyinstaller进行打包,在网上搜集整理了很多资料,现在汇总如下。

相关配置

1.python安装不同版本

(1).在自定义位置,如c盘,新建python文件夹,比如 c:\python\python2 和 c:\python\python3

(2).前往官网下载好相应的python安装包,选择自定义安装(custom installation),勾选添加至系统路径,安装位置即(1)中对应文件夹.

  此时,查看系统环境变量中的Path:此电脑->鼠标右键->属性->高级系统设置->环境变量->系统变量->Path,会发现环境变量中多了几个路径:

  C:\python\python2;

  C:\python\python2\Scripts;

  C:\python\python3;

  C:\python\python3\Scripts\

  通过查看这些文件夹下的内容,可以发现,比如python2文件夹下放的是python.exe,python2\Scripts\下放的是pip.exe

  系统正是通过这两个路径找到的可执行文件,所以我们可以通过改名的方式区分python2和python3

(3).将python3文件夹下的python.exe重命名为python3.exe;

(4).调出cmd终端,分别输入python 和 python3验证版本;pip2 -V 和 pip3 -V查看版本

2.下载并配置pyinstaller

(1).更换pip下载源:

  python2:

pip2 config --global set  global.index-url https://mirrors.aliyun.com/pypi/simple/

  python3

pip3 config --global set  global.index-url https://mirrors.aliyun.com/pypi/simple/

(2).更新pip

  python2

python -m pip install --upgrate pip

  python3

python3 -m pip install --upgrade pip

(3).安装pyinstaller

  python2

pip2 install pyinstaller

  python3

pip3 install pyinstaller

(4).pyinstaller.exe安装在了Scripts目录下,因此,只需要将python3\Scripts\目录下的pyinstaller.exe改名为Pyinstaller3.exe即可;

  如果python3\Scripts\目录下有pyinstaller-script.py,将其改名为pyinstaller3-script.py

(5).在cmd命令行分别输入pyinstaller3 -v 和 pyinstaller -v查看版本,查看成功就安装成功了

脚本

1.pyinstaller打包介绍

pyinstaller -F example.py -p c:/python/python2/Lib/site-packages/

  -p后跟的是依赖库的位置,也就是site-packages的位置,这样可以将依赖库也打到可执行文件里

  如果打出来的包执行时出现了终端黑窗口,可再加一个参数-w

2.简易python打包脚本

# -*- coding:utf-8 -*-
"""
Auto Pyinstaller
-----------------------
Auther:  Brian
version: 1.0
Time: 2021-02-20
----------------------
"""
import os
import sys

# 查看python版本
import platform
version = (platform.python_version()).split(".")[0]

# 查找python 附加包位置
from distutils.sysconfig import get_python_lib
lib_path = get_python_lib()

def usage():
    print("usage python mkexe.py <file>")
    sys.exit(0)
    

argc = len(sys.argv)
if argc < 2 :
    usage()
elif argc >2:
    usage()

filename = sys.argv[1]

if version == "2":
    # cmd = "pyinstaller -F {0} -p c:\\Python27\\Lib\\site-packages\\".format(filename)
    cmd = "pyinstaller -F {0} -p {1}".format(filename, lib_path)
    print(cmd)
elif version == "3":
    # cmd = "pyinstaller3 -F -w {0} -p C:\\Python3\\Lib\\site-packages\\".format(filename)
    cmd = "pyinstaller3 -F -w {0} -p {1}".format(filename, lib_path)
    print(cmd)
else:
    print("python version: {0}, please set environment  in this file".format(version))
    sys.exit(0)
    

f = os.popen(cmd, "r")
d = f.read()
print(d)
f.close()
print("pyinstaller finished")

  执行 python mkexe.py example.py;生成的可执行文件在dist目录下

参考

1. 查看python版本
2. 查看site-packages路径
3. os.popen()

标签:exe,pyinstaller,python,cmd,win10,python3,python2
来源: https://www.cnblogs.com/brian-sun/p/14422705.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有