【Python】部署Windows系统的Python程序到Linux系统(使用venv)

准备

首先,在你的Windows系统上生成requirements.tx文件,这个文件将包含你的Python程序所依赖的所有第三方模块。以下是步骤:

  1. 打开Windows系统的命令行界面,并切换到您的Python程序的目录。
  2. 激活当前项目使用的虚拟环境,示例:source venv/bin/activate
  3. 在命令行(如果使用的是Pycharm等开发工具的Terminal,且已配置该项目与其虚拟环境的关联,就不需要前面两步)中输入如下命令: pip freeze > requirements.txt,这将生成一个名为requirements.txt的文件,文件包含了你的Python程序所有的依赖模块。

    也可以使用pipreqs,生成的requirements.txt只包含项目中使用到的依赖,但是我使用了下,体验不好,生成的requirements.txt总是缺少依赖,需要手动再处理一下。

上传

Python程序和requirements.tx文件传输到目标Linux系统上。

可以使用scp命令或者ftp工具,将你的Python程序和requirements.txt文件上传到Linux的指定目录。也可以使用git进行同步。

部署

Linux系统上安装Python环境和这些依赖。以下是步骤:

  1. 打开Linux系统的命令行界面,切换到你的Python程序所在目录。

  2. 检查是否已经安装Python环境。在命令行中输入python --versionpython3 --version,看是否有Python环境。如果没有,你需要先安装Python。这可以通过输入如下命令进行安装:sudo yum install python3

  3. 检查是否已经安装了pip,这是Python的包管理工具。在命令行中输入pip --versionpip3 --version检查。如果没有,你需要先安装pip。这可以通过输入如下命令进行安装:sudo yum install python3-pip

  4. 在你的Python程序所在的目录下, 使用指定版本的 Python 解释器创建一个新的虚拟环境。

    注意,如果使用 python3 -m venv venv 命令创建虚拟环境,默认会使用当前系统中使用的 Python 3 版本。如果你想要指定一个特定的 Python 版本,首先需要在你的系统中安装那个特定版本的 Python

    一旦安装了特定版本的 Python,你可以通过指定该版本的 Python 解释器的路径来创建虚拟环境。例如,如果你安装了 Python 3.12 版本,并且它的解释器路径是 /usr/bin/python3.12,你可以使用以下命令来创建虚拟环境:

    /usr/bin/python3.12 -m venv venv  # 这里的venv是虚拟环境的名称,可以根据你的需要修改
    

    上述命令中的/usr/bin/可以省略,因为系统的PATH中包含/usr/bin目录

    这将会在当前的目录下创建一个叫做venv的文件夹,该文件夹包含了一个独立的Python 3.12环境。

  5. 激活虚拟环境。执行下面的命令:

    source venv/bin/activate  # 如果你的虚拟环境名称修改了,则对应修改这里的venv
    

    执行这个命令后,你会发现命令行提示符变成了[venv] user@host $ 形式,表明你已经进入了虚拟环境。

  6. 在虚拟环境中,使用pip工具来安装依赖(保证你的requirements.txt文件与你的Python程序在同一目录下),输入命令:

    pip install -r requirements.txt
    
  7. 启动你的主程序

    python your-program-name.py
    
  8. 当你想退出虚拟环境的时候,可以使用下面的命令:

    deactivate
    
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值