explore
explore
Published on 2025-01-01 / 25 Visits
0
0

Python整合包制作

在制作Python应用时,每次安装环境十分麻烦,制作做一个Python整合包,把依赖都添加好

使用是直接复制,直接运行即可。

Python创建的虚拟环境不能移动,可嵌入式包又太多问题,

但Conda创建的Python却是可以移动的。

先安装miniconda

curl https://repo.anaconda.com/miniconda/Miniconda3-py311_24.11.1-0-Windows-x86_64.exe -o miniconda.exe
start /wait "" .\miniconda.exe /S /AddToPath=0 /NoRegistry=1 /Shortcuts=0 /D=安装路径
del miniconda.exe

配置pip源

setx MINICONDAPATH 安装路径 /M
set MINICONDAPATH=安装路径

%MINICONDAPATH%\python.exe -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
%MINICONDAPATH%\python.exe -m pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn
%MINICONDAPATH%\python.exe -m pip install --upgrade pip

举例安装pytorch

%MINICONDAPATH%\python.exe -m pip install torch==2.3.1+cu118 torchvision==0.18.1+cu118 torchaudio==2.3.1+cu118 "numpy<2" -f https://mirrors.aliyun.com/pytorch-wheels/cu118

如果不使用PyQt5之类的可以使用conda创建虚拟环境创建整合包,如果使用PyQt5之类的,为防止路径中存在中文,导致程序启动失败,建议使用脚本在用户端安装到非中文路径。

以下命令创建一个虚拟环境,然后安装依赖,这个虚拟环境可以到处移动。

conda create --prefix=./python python=3.11

cmd通过下面方式设置环境变量,这里将python目录重命名为了python,PYTHONUNBUFFERED=1表示不使用stdio缓存打印

set PATH=%PATH%;%cd%\python
set PATH=%PATH%;%cd%\python\Scripts
set PYTHONUNBUFFERED=1

python代码通过以下方式设置环境变量

current_directory = os.getcwd()
os.environ['PATH'] = os.environ['PATH'] + ';' + os.path.join(current_directory, 'python')
os.environ['PATH'] = os.environ['PATH'] + ';' + os.path.join(current_directory, r'python\Scripts')
os.environ['PYTHONUNBUFFERED'] = '1'

使用Python整合包环境运行程序

python\python.exe main.py


Comment