python 项目怎么在别的电脑上运行已经开发好的代码呢 不带venv
完整一步步操作(Windows CMD)
第一步:进入项目目录,激活虚拟环境
打开 cmd,cd 到你的 ai-asr 文件夹
cmd
cd /d D:\java\python\ai-asr call .venv\Scripts\activate激活成功后,命令行前面会出现(.venv)标识。
第二步:导出依赖清单
cmd
pip freeze > requirements.txt执行完成,ai-asr 文件夹下会生成requirements.txt文件。里面记录当前 venv 所有安装包 + 精确版本(nltk、funasr、torch、flask…… 全部在内)。
第三步:目标服务器使用这份清单
服务器不要拷贝 .venv!
- 上传代码 + requirements.txt,删除旧的.venv
- 在服务器打开 cmd,进入项目目录,新建虚拟环境
cmd
D:\java\python\python310\python.exe -m venv .venv call .venv\Scripts\activate pip install -r requirements.txt等待全部包自动安装完成。
补充重要知识点
- 离线安装方案(服务器无法联网必备)本机激活 venv 后下载所有 whl 离线包:
cmd
pip download -d packages -r requirements.txt会生成packages文件夹,把这个文件夹一起传到服务器,离线安装:
cmd
pip install --no-index --find-links=packages -r requirements.txt- 避坑提醒不要在没有激活 venv 的时候执行
pip freeze,导出的是外层 python 的包清单,不是项目需要的!
附赠优化后的启动脚本(直接调用 venv 内 python,绕过容易失效的 activate)
bat
@echo off chcp 65001 cd /d "%~dp0" .venv\Scripts\python.exe ai-asr-service.py pause好处:不再依赖 call activate,不会出现激活静默失败,只要 venv 内部文件完整就能运行。⚠️依然提醒:跨机器新建 venv,不要直接复制 venv 文件夹。
如果你需要,我顺带给你一份一键新建环境 + 自动安装依赖的部署 bat。
D:\java\python\python310\python.exe -m venv .venv 这个python是不是想放在那个目录都行
核心答案
✅是的,这条命令里的D:\java\python\python310\python.exe是【母本 Python 解释器】,这个解释器本身放在任意目录都可以,只要路径正确、能正常运行。
拆解这条命令含义
plaintext
D:\java\python\python310\python.exe -m venv .venv前面一长串:用来创建虚拟环境的母体 Python 程序(你的绿色便携 Python3.10);你可以把
python310文件夹挪到D:\soft\python310,命令改成:plaintext
D:\soft\python310\python.exe -m venv .venv依旧能正常创建
.venv。末尾
.venv:代表虚拟环境文件夹创建在【当前 cmd 工作目录】
举例子:cmd 当前路径在
D:\java\python\ai-asr执行命令 → 在ai-asr\.venv生成虚拟环境。
如果你想自定义虚拟环境存放位置,可以写绝对路径:
plaintext
D:\java\python\python310\python.exe -m venv D:\env\ai-asr-env⚠️两个关键限制(非常重要,踩坑关键点)
创建出来的
.venv,不能随便移动文件夹,更不能跨电脑复制创建时,.venv/pyvenv.cfg硬编码记录【母体 Python 的绝对路径】。- 本机:母体 Python 不动,仅仅挪动项目文件夹,偶尔可以运行;
- 跨电脑:直接复制
.venv极高概率异常(就是你之前遇到的问题)。
母体 Python 文件夹(python310)挪动之后,旧的.venv 会失效!假设你原先:母体路径
D:\java\python\python310,生成了.venv之后你把python310移动到D:\soft\python310原来创建的.venv无法继续使用,找不到母解释器,只能删掉重建。
结合你的部署流程最佳实践
- 把
python310绿色包固定一个路径,不要再随意挪动; - 服务器上不要拷贝本地的.venv,解压代码后现场执行这条命令新建环境;
- 启动脚本直接调用
.venv\Scripts\python.exe,放弃容易失效的call activate
bat
@echo off chcp 65001 cd /d "%~dp0" .venv\Scripts\python.exe ai-asr-service.py pause补充小技巧
如果你不想写很长的绝对路径,cmd 先切换到 python310 目录执行也行:
cmd
cd /d D:\java\python\python310 python.exe -m venv D:\java\python\ai-asr\.venv效果完全一致。
上传代码 + requirements.txt,删除旧的.venv 在服务器打开 cmd,进入项目目录,新建虚拟环境 进入那个目录
服务器完整分步操作(复制直接执行)
1、先进入你的项目目录(根据你服务器实际路径修改)
cmd
cd /d D:\java\python\ai-asr2、删除旧的、拷贝过来失效的 .venv(必须执行)
cmd
rmdir /s /q .venv3、使用绿色 Python310,新建干净虚拟环境
cmd
D:\java\python\python310\python.exe -m venv .venv执行完毕,当前目录生成全新.venv
4、激活虚拟环境
cmd
call .venv\Scripts\activate✅激活成功:命令行开头出现(.venv)
5、读取 requirements.txt 自动安装所有依赖
cmd
pip install -r requirements.txt等待全部库安装完成(nltk、funasr、torch 等)
6、测试启动(两种方式任选)
方式①:手动 cmd 测试
cmd
python ai-asr-service.py方式②:使用优化后的start.bat(不依赖 activate,推荐长期使用)
bat
@echo off chcp 65001 cd /d "%~dp0" .venv\Scripts\python.exe ai-asr-service.py pause⚠️重点避坑清单
- 绝对不要把本地电脑生成的.venv 打包上传服务器,必须服务器现场新建;
- 确保服务器上
D:\java\python\python310\python.exe真实存在,路径不能错; - 如果服务器无法联网:提前在本机下载 whl 离线包,上传后离线安装;
- 以后更新代码:只上传 py、models、requirements.txt,永远不上传.venv 文件夹。
额外:一键部署脚本(deploy.bat,放到项目根目录,双击自动执行整套流程)
bat
@echo off chcp 65001 cd /d "%~dp0" echo 正在清理旧虚拟环境... rmdir /s /q .venv echo 创建全新虚拟环境 D:\java\python\python310\python.exe -m venv .venv echo 激活环境并安装依赖 call .venv\Scripts\activate pip install -r requirements.txt echo 环境部署完成! pause注意:服务器能联网才能直接运行这个一键脚本。