windows11中vscode运行虚拟环境时提示权限错误:
管理员权限 打开 powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
pyinstaller 打包模版
# -*- mode: python ; coding: utf-8 -*-
import sys
import os
# 获取当前项目的绝对路径
block_cipher = None
project_root = os.path.abspath(".")
# 这里的 '0-截图gif.py' 请替换为你实际的文件名
main_script = '0-截图gif.py'
a = Analysis(
[main_script],
pathex=[project_root],
binaries=[],
# 如果你有额外的图标、图片或配置文件,在这里添加
# 格式: ('源路径', '打包后的相对路径')
datas=[
# ('assets/logo.png', 'assets'),
],
# 强制包含一些动态加载的库,防止运行报错
hiddenimports=[
'PyQt6.QtCore',
'PyQt6.QtGui',
'PyQt6.QtWidgets',
'mss',
'imageio',
'imageio_ffmpeg',
],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[], # 这里可以填不需要的库,减少体积
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
# =================================================
# Windows EXE 配置
# =================================================
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='ScreenRecorder', # 生成的程序名称
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True, # 使用 UPX 压缩体积 (需要电脑已安装 UPX)
upx_exclude=[],
runtime_tmpdir=None,
console=False, # 重要:设置为 False 则不显示黑色命令行窗口
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
# icon='app_icon.ico', # Windows 图标路径 (.ico)
)
# =================================================
# macOS APP 配置 (Windows 下运行会自动跳过)
# =================================================
app = BUNDLE(
exe,
name='ScreenRecorder.app',
# icon='app_icon.icns', # macOS 图标路径 (.icns)
bundle_identifier='com.patrickliu.screenrecorder',
info_plist={
'NSHighResolutionCapable': 'True', # 支持 Retina 屏幕
'NSPrincipalClass': 'NSApplication',
'NSAppleEventsUsageDescription': '需要屏幕录制权限来捕捉动画',
'NSCameraUsageDescription': 'None',
'NSMicrophoneUsageDescription': 'None',
# macOS 权限声明:关键,防止在某些版本上静默退出
'NSScreenCaptureUsageDescription': '该软件需要录制屏幕选定区域以生成GIF',
},
)
之前环境输出与导入
pip freeze > requirements.txt
pip install -r requirements.txt