前言

需要在内网(win10系统)下降低python版本(支持win7)进行py文件打包

个人记录(步骤有省略)

外网部分

  1. 在外网安装Anaconda
  2. 创建单独的python虚拟环境(进cmd命令): conda create -n 虚拟环境名 python=版本号

(conda create -n Vxi11 python=3.7.6)

  1. 如果遇到如下的问题:
C:\Users\Administrator>conda create -n pyShop python=3.8
Collecting package metadata (current_repodata.json): failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/current_repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64'

上述表示:错误 CondaHTTPError: HTTP 000 CONNECTION FAILED 表示连接到指定的URL (https://conda.anaconda.org/conda-forge/win-64) 时出现问题。这可能是由于各种原因引起的,例如网络连接问题、服务器暂时性问题或者您的 Conda 配置存在错误。
解决方案:如果打开了Clash for Wxxx则需要先关闭Clash for Wxxx,然后访问清华大学镜像源,根据指导修改。

  1. 在输出Proceed ([y]/n)?后面输入y
  2. 成功后在路径为 D:\anaconda3\envs 文件下得到一个Vxi11(文件夹)的虚拟环境。
  3. 在 Anaconda 中,使用以下命令来列出和查看当前系统中存在的虚拟环境

conda env list

  1. 切换/激活环境(在文件夹内进cmd命令): activate 环境名
    (ex: activate Vxi11)=>进入刚才创建的Vxi11环境
  2. 查看环境下已有的包:conda list
  3. 安装第三方包:conda install 包名=版本号(或者pip install 包名==版本号)

(ex.1)pip install pyinstaller==4.4 (ex.2)pip install python-vxi11==0.8

  1. 其余命令:
    (1)列出外网的所有环境:conda env list
    (2)激活/使用/进入某个虚拟环境:activate env_name
    (3)退出当前环境:conda deactivate
  2. 打包整个Vxi11文件夹,传进内网(重点:记录外网环境中,这个Vxi11项目所在的路径,一下称其为“vxi11路径”)

内网部分

要将Python的虚拟环境和内网中的Python文件打包,可以按照以下步骤进行操作

  1. 在内网创建一个一模一样的vxi11路径来存放Vxi11项目
  2. 添加虚拟环境的环境变量(推荐置顶)=>主文件夹(D:\XXX\XXX…\Vxi11)和脚本文件夹(D:\XXX\XXX…\Vxi11\Scripts)
  3. 将需要打包的py文件单独放入一个空白文件夹
  4. 在文件夹内进cmd命令,通过cmd命令确保已经安装了正确的 python、pyinstaller、vxi11版本。

python --version
pyinstaller --version
pip show python-vxi11

  1. 确定版本没问题后,执行pyinstaller xxx.py
  2. dist文件内的内容便是我需要的打包源文件,再使用第三方工具封装一下,便完成支持win7的xxx.py可执行文件