问题
因为Python的简介性,之前用它写了个程序用来升级设备。可是使用过程中有次使用者身边的设备是老旧的32位win7,暂时找不到64位的win使用,于是想重新打个32位的程序版本包,以防上述情况产生麻烦;
解决
Python的环境管理软件anaconda
大名鼎鼎,不过一开始我也不太清楚我的问题是什么;因为我写的那个软件是基于pyinstaller
打包的,所以理所应当的就去搜了pyinstaller 32
结果找到了how to use pyinstaller for packaging 32 an exe ,很显然这是通过anaconda
配置了32位的Python环境来进行编译实现的;但是这篇文章明显对anaconda
不太熟悉,于是接着搜anaconda python 32bit
,找到了以下文章作为参考:
- anaconda3下64位python和32位python共存
- 用anaconda保证64位和32位的python共存
- 使用64位anaconda/miniconda安装32位python环境
整体的流程如下:
-
安装miniconda,参考Miniconda安装及使用
- 选择合适版本下载 Miniconda
- 配置Python清华源,解决下载包速度问题;打开Anaconda Promot中依次输入以下两条命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes
- 1
- 2
-
打开 Anaconda Promot,输入
conda info
:
-
继续在命令行输入:
set CONDA_FORCE_32BIT=1 conda info
- 1
- 2
此时Python的环境已切换位32位,但是因为我们切换到32位时也需要调用其它库文件,所以最好是创建一个环境,便于以后切换;
-
创建Python环境
conda create -n python32bit numpy matplotlib python=3.7
- 1
其中
numpy matplotlib
为安装环境时同时安装的库,可以不选择;Python=3.7
是指明创建环境的Python版本,可以不指明,默认创建环境使用最新版本的Python;以上指令就创建了一个名为python32bit
的Python环境; -
激活环境
conda activate python32bit
- 1
撤销激活
conda deactivate
,删除环境conda remove -n python32bit --all
-
执行需要在32位环境下执行的程序(当然需要的32位包,先提前安装一下);
Tips
- 安装完miniconda后,要打开的是
Anaconda Prompt
(下面那个),否则set CONDA_FORCE_32BIT=1
指令无效的,设置不成功;
如果打开的是
Anaconda Powershell Prompt
则需要输入$env:CONDA_FORCE_32BIT=1
,这是两款不同命令行解释器语法差异造成的,可参考:
1. cmd查看环境变量
2. Powershell环境变量