前言
需要在内网(win10系统)下降低python版本(支持win7)进行py文件打包
个人记录(步骤有省略)
外网部分
- 在外网安装Anaconda
- 创建单独的python虚拟环境(进cmd命令): conda create -n 虚拟环境名 python=版本号
(conda create -n Vxi11 python=3.7.6)
- 如果遇到如下的问题:
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,然后访问清华大学镜像源,根据指导修改。
- 在输出Proceed ([y]/n)?后面输入y
- 成功后在路径为 D:\anaconda3\envs 文件下得到一个Vxi11(文件夹)的虚拟环境。
- 在 Anaconda 中,使用以下命令来列出和查看当前系统中存在的虚拟环境
conda env list
- 切换/激活环境(在文件夹内进cmd命令): activate 环境名
(ex: activate Vxi11)=>进入刚才创建的Vxi11环境 - 查看环境下已有的包:conda list
- 安装第三方包:conda install 包名=版本号(或者pip install 包名==版本号)
(ex.1)
pip install pyinstaller==4.4
(ex.2)pip install python-vxi11==0.8
- 其余命令:
(1)列出外网的所有环境:conda env list
(2)激活/使用/进入某个虚拟环境:activate env_name
(3)退出当前环境:conda deactivate - 打包整个Vxi11文件夹,传进内网(重点:记录外网环境中,这个Vxi11项目所在的路径,一下称其为“vxi11路径”)
内网部分
要将Python的虚拟环境和内网中的Python文件打包,可以按照以下步骤进行操作
- 在内网创建一个一模一样的vxi11路径来存放Vxi11项目
- 添加虚拟环境的环境变量(推荐置顶)=>主文件夹(D:\XXX\XXX…\Vxi11)和脚本文件夹(D:\XXX\XXX…\Vxi11\Scripts)
- 将需要打包的py文件单独放入一个空白文件夹
- 在文件夹内进cmd命令,通过cmd命令确保已经安装了正确的 python、pyinstaller、vxi11版本。
python --version
pyinstaller --version
pip show python-vxi11
- 确定版本没问题后,执行pyinstaller xxx.py
- dist文件内的内容便是我需要的打包源文件,再使用第三方工具封装一下,便完成支持win7的xxx.py可执行文件