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

无网络服务器下使用Pipenv部署Python脚本及虚拟环境的方法

无网络环境下用Pipenv部署Python脚本的正确步骤

一、本地准备阶段(有网络环境)

  1. 基于项目已有的Pipfile.lock生成精确的依赖清单(比pip freeze更贴合Pipenv的依赖管控逻辑):
    pipenv lock -r > requirements.txt
    
  2. 将所有依赖包下载到本地指定目录(比如packages文件夹),需确保下载的包与服务器的Python版本、操作系统、架构匹配,避免跨平台兼容性问题:
    # 示例:服务器为Linux x86_64、Python 3.9时,添加平台参数
    pip download -r requirements.txt -d ./packages --platform manylinux2014_x86_64 --python-version 39 --only-binary=:all:
    
    若服务器与本地环境完全一致,可简化为:
    pip download -r requirements.txt -d ./packages
    

二、服务器部署阶段(无网络环境)

  1. 将本地项目的所有文件(脚本、Pipfile、Pipfile.lock、requirements.txt、packages文件夹)完整复制到服务器的目标目录。
  2. 无需手动创建空的.venv文件夹,Pipenv会自动创建并管理虚拟环境;若需强制将虚拟环境放在项目目录下,可先执行环境变量配置:
    • Windows:set PIPENV_VENV_IN_PROJECT=1
    • Linux:export PIPENV_VENV_IN_PROJECT=1
  3. 进入服务器上的项目目录,执行离线安装命令:
    pipenv install --deploy --ignore-pipfile --no-index --find-links=./packages
    
    参数说明:
    • --deploy:严格按照Pipfile.lock的版本安装,避免依赖版本不一致
    • --ignore-pipfile:优先使用Pipfile.lock的精确依赖配置
    • --no-index:禁止从PyPI远程索引下载包
    • --find-links=./packages:指定本地依赖包的存放路径

三、常见疑问解答

  • 是否需要手动创建.venv文件夹?
    不需要。Pipenv会自动根据配置生成虚拟环境,手动创建空文件夹可能导致路径冲突或权限问题。
  • 文件摆放要求?
    脚本、Pipfile、Pipfile.lock、requirements.txt放在项目根目录,packages文件夹也放在根目录即可,确保--find-links能正确定位本地包。

四、更优迁移方案

如果服务器和本地环境(操作系统、Python版本、架构)完全一致,可直接迁移已创建好的虚拟环境:

  1. 本地执行pipenv install --deploy完成依赖安装。
  2. 将项目目录(包含.venv)完整复制到服务器。
  3. 进入服务器项目目录,执行pipenv shell激活虚拟环境即可使用。

注意:该方法仅适用于环境完全一致的场景,跨环境可能出现兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:10:07