You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制脚本仅使用virtualenv(venv)内的依赖库运行?

强制Python脚本仅使用virtualenv内的依赖库
  • 确认虚拟环境的激活有效性
    激活虚拟环境后,先检查终端提示符开头是否出现(.venv)标记,或者执行which python和which pip命令,确认输出路径是.venv/bin/python和.venv/bin/pip。如果路径不对,说明激活未生效,可直接使用虚拟环境内Python的绝对路径运行脚本,比如:

    ./.venv/bin/python your_script.py
    
  • 彻底隔离系统全局依赖
    创建虚拟环境时,添加--no-site-packages参数确保完全隔离系统的site-packages(新版virtualenv默认已开启,但旧版本可能需要手动指定):

    virtualenv --no-site-packages .venv
    

    激活后,检查并清空可能干扰的PYTHONPATH环境变量:

    unset PYTHONPATH
    
  • 正确生成依赖清单
    当虚拟环境隔离生效后,运行脚本会触发ModuleNotFoundError,此时用虚拟环境内的pip逐个安装所需依赖:

    ./.venv/bin/pip install 依赖包名称
    

    所有依赖安装完成后,执行以下命令生成requirements.txt:

    pip freeze > requirements.txt
    

    部署到服务器时,只需创建并激活虚拟环境,然后执行:

    pip install -r requirements.txt
    
  • 验证隔离效果
    写一个简单的测试脚本,导入一个系统已安装但虚拟环境内未安装的库,比如:

    import requests
    print(requests.__file__)
    

    用虚拟环境内的Python运行该脚本,如果出现ModuleNotFoundError,说明隔离生效;如果成功运行并打印系统site-packages路径,需重新检查虚拟环境的创建参数或激活状态。

内容的提问来源于stack exchange,提问作者user984621

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:12:08