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

By liu