Python安装后无法即时用pip装Pymem模块,打包程序遇阻求解决
针对Pymem打包EXE报错的解决方案
- 指定PyInstaller隐藏导入参数:Pymem依赖底层内存操作模块,打包时需强制PyInstaller识别其子模块。执行打包命令时添加对应参数:
pyinstaller --onefile --hidden-import=pymem.process --hidden-import=pymem.memory your_script.py - 手动补充依赖库:找到Python环境下
Lib\site-packages\pymem目录中的相关DLL文件,打包完成后将其复制到EXE文件的同目录下。 - 放弃单文件打包模式:单文件模式运行时会解压临时文件,可能导致Pymem加载依赖失败。改用文件夹模式打包:
分发时直接打包整个生成的文件夹即可。pyinstaller --onedir your_script.py
自动安装Python后CMD环境变量即时生效的解决方案
- 直接调用Python绝对路径:无需依赖环境变量,使用Python安装目录下的可执行文件绝对路径执行命令。例如:
"C:\Users\XXX\AppData\Local\Programs\Python\Python311\python.exe" -m pip install pymem - 手动刷新当前会话环境变量:在安装脚本中添加批处理代码,读取系统注册表中的Path变量并更新当前CMD会话:
for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path ^| findstr /i path') do setx Path "%%b" for /f "tokens=2*" %%a in ('reg query "HKCU\Environment" /v Path ^| findstr /i path') do setx Path "%%b" call :RefreshEnv goto :eof :RefreshEnv set "PATH=" for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path ^| findstr /i path') do set "PATH=%%b;%PATH%" for /f "tokens=2*" %%a in ('reg query "HKCU\Environment" /v Path ^| findstr /i path') do set "PATH=%%b;%PATH%" set "PATH=%PATH:;;=;%" set "PATH=%PATH:~0,-1%" - 安装时添加路径前置参数:使用Python安装包的
/prependpath=1参数,让安装程序自动将Python路径添加到系统环境变量最前端,多数情况下当前CMD会话可即时识别:python-3.11.0-amd64.exe /quiet /prependpath=1
内容的提问来源于stack exchange,提问作者RLU
相关产品推荐
相关产品推荐

