1.在PyCharm 2024.1 软件中的PowerShell 中尝试激活虚拟环境
在 PowerShell 中激活 Python 虚拟环境(例如你创建的 myenv)应该使用以下命令:
.\myenv\Scripts\Activate.ps1注意事项:
.\表示当前目录;是
Activate.ps1,不是activate(这个是 Linux 或 CMD 用的);PowerShell 脚本默认有执行策略限制,如果报权限问题,可以继续看下面👇。
如果遇到权限错误(执行策略限制):
PowerShell 默认可能禁止运行 .ps1 脚本,可以使用以下命令暂时放开权限:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process然后再执行:
.\myenv\Scripts\Activate.ps1激活成功后,你会看到前缀类似于这样:
(myenv) PS D:\workspace\emotion-recognition>这样你就可以在虚拟环境里安装和运行依赖了,比如:
pip install flask keras opencv-python2.如果没有安装虚拟环境
✅【1】确认是否存在虚拟环境文件夹
在 PowerShell 中运行:
Get-ChildItem看看当前目录下是否有一个叫 myenv 的文件夹(或你当时取的虚拟环境名字)。
如果没有这个文件夹,那你确实还没有创建虚拟环境。
✅【2】如果没创建过虚拟环境,该怎么创建?
先确保你已经安装了 Python,并且 python 命令能用。然后创建虚拟环境:
python -m venv myenv执行完会生成一个 myenv 文件夹,里面包含 Scripts、Lib、pyvenv.cfg 等内容。
✅【3】激活虚拟环境(PowerShell 正确方式):
.\myenv\Scripts\Activate.ps1如果出现权限问题,再运行一次:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process然后再试激活命令。
🧪 检查是否激活成功?
激活后命令行前面会显示虚拟环境名,例如:
(myenv) PS D:\workspace\emotion-recognition>这样你就在虚拟环境中啦~可以自由地安装项目依赖了:
pip install flask keras opencv-python3.要在 Python 项目中执行 requirements.txt 文件,也就是安装其中列出的所有依赖包
步骤一:确保虚拟环境已激活
如果你已经创建并激活了虚拟环境(比如叫 myenv),命令行应该长这样:
(myenv) PS D:\workspace\emotion-recognition>如果还没激活,请运行:
.\myenv\Scripts\Activate.ps1如果还没创建虚拟环境:
python -m venv myenv
.\myenv\Scripts\Activate.ps1✅ 步骤二:安装 requirements.txt 中的依赖
运行:
pip install -r requirements.txt确保你当前在 requirements.txt 文件所在的目录下(比如 D:\workspace\emotion-recognition)。
🧠 小技巧
查看安装过程是否出错;
如果提示某些包版本不兼容,可以尝试升级 pip:
python -m pip install --upgrade pip
打包的项目的结构
your_project/
├── build/
├── dist/
│ ├── start_http.exe # 可执行文件
│ ├── lib/ # 包含依赖的库文件
│ ├── other_files/ # 其他必要的文件
└── start_http.spec # 配置文件如果你想为生成的可执行文件设置图标或添加额外的文件(例如配置文件),可以使用 --icon 和 --add-data 选项:
--icon=icon.ico:为生成的可执行文件指定图标。--add-data "config.json;.":将外部文件(如config.json)包含到打包的文件中。
4.进行全量打包,避免缺少部份依赖
这样打包,点击exe文件可能会弹出控制台
pyinstaller --onefile --add-data "haarcascade_files\\haarcascade_frontalface_default.xml;haarcascade_files" --add-data "models;models" --add-data "myenv\\Lib\\site-packages\\mediapipe;mediapipe" start_http.py也可以这样打包
pyinstaller --onefile --noconsole --add-data "haarcascade_files\\haarcascade_frontalface_default.xml;haarcascade_files" --add-data "models;models" --add-data "myenv\\Lib\\site-packages\\mediapipe;mediapipe" start_http.py然后在文件目录cmd
D:\workspace\emotion-recognition\dist>start_http.exe > log.txt 2>&1之后可以写一个bat脚本
@echo off
start "" start_http.exe > log.txt 2>&1