一、实验环境

1.Windows7x64_SP1

2.pywinauto_0.6.7

二、需求背景

个人编写了一个软件安装器,用于一键安装开发软件及工具,该工具基于python + pywinauto。

但问题来了,新电脑上未安装python和图像界面操作库pywinauto,难道先手动安装python + pywinauto,再运行软件安装器安装其他软件?

有两种解决方式

2.1 方式一:

使用PyQt制作GUI界面,再使用pyinstaller打包为exe文件,该exe程序可以在未安装python的电脑上运行。

使用该方式,最终发现PyQt库和pywinauto库冲突,可以正常打包,但exe程序运行报错,打开控制台窗口,窗口提示“ImportError:The 'appdirs' package is required”。

本打算在github上向pywinauto的作者发帖提问,为方便其复现问题,手动编写图形化界面(未使用Qt设计师),程序运行正常!得出结论是Qt设计师编写的代码与pywinauto库存在冲突。

2.2 方式二:

使用绿色版python,在cmd中调用软件安装器,这样就可以安装python及相关软件和工具。

三、实验步骤

3.1 下载python release版

下载链接请参考如下,下载其中的python-3.7.3rc1-embed-win32.zip

https://www.python.org/ftp/python/3.7.3/

解压后目录结构如下:

聪明的小伙伴估计已经发现,https://www.python.org/ftp/python/ 可以下载所有版本的python

3.2 安装pip

下载get-pip.py文件至步骤3.1解压后的目录,get-pip.py文件下载方式参考如下:

https://pip.pypa.io/en/stable/installing/,链接另存为即可

在当前目录下打开cmd,输入命令“python get-pip.py”并敲击回车运行命令,安装完成后,文件夹中会增加Lib和Scripts两个文件夹

3.3 修改python37._pth文件

记事本打开python37._pth,去除import site的注释,最终修改如下:

python37.zip
. # Uncomment to run site.main() automatically
import site

3.4 安装lib

3.4.1 查看已安装lib

运行cmd,目录切换至python-3.7.3rc1-embed-win32,输入python.exe .\Scripts\pip3.exe list,结果如下:

D:\software\python-3.7.3rc1-embed-win32>python.exe .\Scripts\pip3.exe list
Package Version
---------- -------
pip 19.2.1
pywin32 224
pywinauto 0.6.7
setuptools 41.0.1
six 1.12.0
wheel 0.33.4

3.4.2 安装新lib

以安装django为例,输入python.exe .\Scripts\pip3.exe install django==1.10.1

D:\software\python-3.7.3rc1-embed-win32>python.exe .\Scripts\pip3.exe install django==1.10.1

3.5 运行python

D:\software\python-3.7.3rc1-embed-win32>python
Python 3.7.3rc1 (tags/v3.7.3rc1:69785b2127, Mar 12 2019, 21:42:06) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

python免安装版(绿色版)制作的更多相关文章

  1. 百度云管家-V4.6.1-单文件版绿色版

    转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/baidu-is-clouds-butler-v4-6-1-single-file-green-edition ...

  2. 百度云百度网盘VIP不限速破解版绿色版-实测可用

    百度云百度网盘不限速VIP破解版绿色版-下载地址:https://www.90pan.com/b1548999

  3. win10平台mysql5.6.34免安装版(绿色版zip)的配置以及密码和编码设置

    平台:win10 X64 mysql: mysql-5.6.34-winx64.zip 以下所写都是本人测试过的,力争无误.上次发布了,可是发现了一些问题,特地查了一下官方文档(我会说我是用有道词典翻 ...

  4. Windows Live Writer 2014版绿色版制作及主题获取

    前年才建好博客的时候就尝试用Windows Live Writer(WLW)写博客,用的是直接在网上找到的一个WLW 2009绿色美化版.但因为当时WLW获取的博客主题是主页的,预览的时候特别不爽,就 ...

  5. windows 下安装securecrt 绿色版

  6. tomcat官方下载连接——安装版&绿色版

    Tomcat绿色版Windows64位9.0.10 http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat- ...

  7. Mysql安装(绿色版安装)

    一:下载 1.官网 https://dev.mysql.com/ 2.下载 3.下载 二:安装 1.将官网上下载的包进行解压 2.以管理员的身份运行DOS安装 进入mysql的bin目录 运行mysq ...

  8. python模块安装查看、包制作

    一. 模块安装 ubuntu : apt-get install python-pip redhat: yum install python-pip pip install 模块 pip instal ...

  9. GTA5侠盗猎车5中文版破解版绿色版汉化版迅雷下载地址种子实测可用

    GTA5(侠盗猎车5)中文版下载地址(实测可用) 迅雷下载地址:https://www.90pan.com/b1548988 一定要关闭安全软件并且加入白名单 实测通过,关闭杀毒软件可以完美运行,最好 ...

随机推荐

  1. IT兄弟连 Java语法教程 综合案例

    1.案例需求 编写程序,模拟斗地主游戏洗牌和发牌的流程. 2.应用知识 ●  数组的声明 ●  数组的遍历 ●  for循环 ●  if-else分支结构 3.需求解析 模拟斗地主游戏洗牌和发牌,需要 ...

  2. 前端之本地存储和jqueryUI

    本地存储 本地存储分为cookie,以及新增的localStorage和sessionStorage 1.cookie 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路 ...

  3. windows下dubbo-admin2.6.x之后版本的安装

    安装zookeeper(单机) 下载bin.tar.gz的版本,解压 conf下的zoo_sample.cfg改zoo.cfg zoo.cfg里添加配置 dataDir=G:/zookeeper-/d ...

  4. JVM运行机制(非原创)

    文章大纲 JVM基本概念 JVM的体系结构 JVM启动流程 一.JVM基本概念 Java虚拟机(JVM)是可运行Java代码的假想计算机 Java虚拟机包括类加载器.一组寄存器.方法区.一个垃圾回收堆 ...

  5. 1.JavaCC安装与测试

      下面介绍的是JavaCC在windows系统中的安装与小代码测试过程. 一.JavaCC安装   步骤 :在JavaCC的官网首页下载JavaCC,然后配置电脑的环境变量,接着在dos命令行里就可 ...

  6. TCP/IP协议的分层

    T C P / I P协议族是一组不同的协议组合在一起构成的协议族.尽管通常称该协议族为 T C P / I P,但T C P和I P只是其中的两种协议而已(该协议族的另一个名字是 I n t e r ...

  7. redis删除策略

    redis 设置过期时间 Redis 中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我们一般项目中的 token 或者一些登 ...

  8. [日常] gitlab创建用户并把用户加入项目

    在gitlab里创建用户 默认密码是要求创建的用户自己去邮箱重置,也可以创建完成后直接点击编辑,就可以更改密码了 创建完用户,用户登录的时候需要去重置密码 创建完项目,就可以去使用了 也可以为这个项目 ...

  9. 17.Java基础_初探类的private和public关键字

    package pack1; public class Student { // 成员变量 private String name; private int age; // get/set方法 pub ...

  10. 4. Vue - 指令(Add)

    一.指令系统 1. v-text ​ v-text主要用来更新textContent,可以等同于JS的text属性. <span v-text="msg"></s ...