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

本文指导如何在Windows上生成requirements.txt文件,管理Python项目的依赖,然后将其上传至Linux,包括安装Python环境、创建和激活虚拟环境,以及在Linux上使用pip安装依赖并启动主程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备

首先,在你的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
    
### 如何在Linux系统上安装和配置Python #### 验证现有Python版本 大多数Linux发行版默认已预装Python。为了确认当前系统Python版本,可以在终端输入`python --version`或`python3 --version`命令来检查是否存在以及其具体版本[^2]。 #### 更新包管理器索引 无论是否已经存在旧版本的Python,在准备新安装之前都应该先更新本地包列表以获取最新的软件资源信息。对于基于Debian/Ubuntu的系统来说,这一步骤可以通过执行以下命令完成: ```bash sudo apt update ``` 而对于Red Hat/CentOS/Fedora等RPM包管理系统,则应使用相应的yum或者dnf指令来进行相同的操作。 #### 安装依赖库 一些必要的开发工具和库文件可能尚未被安装,这些组件对于编译源码或是支持某些特定功能非常重要。通过下面给出的不同类型的Linux发行版适用的方法之一即可解决这个问题: - **Debian/Ubuntu** ```bash sudo apt install build-essential libssl-dev zlib1g-dev \ libncurses5-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libffi-dev xz-utils tk-dev libxml2-dev libxslt1-dev libjpeg-dev ``` - **Fedora/RHEL/CentOS** ```bash sudo yum groupinstall "Development Tools" sudo yum install openssl-devel bzip2-devel libffi-devel sqlite-devel \ readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel ``` 以上操作确保了后续过程中不会遇到缺少必需项的情况,并有助于顺利完成整个设置流程[^4]。 #### 下载并解压目标版本的Python源代码 访问官方发布的页面下载所需版本的tarball压缩包,这里假设要安装的是最新稳定版;当然也可以根据个人需求指定其他分支或标签号。接着将其放置在一个合适的位置展开成目录结构形式以便进一步处理: ```bash cd /usr/src sudo wget https://www.python.org/ftp/python/3.x.y/Python-3.x.y.tgz # 将"x.y"替换为实际想要安装的具体次版本号 sudo tar xzf Python-3.x.y.tgz ``` 注意:这里的URL链接应当依据实际情况调整至对应的目标地址处。 #### 编译与安装自定义版本的Python解释器 进入刚刚创建出来的子文件夹内按照常规方式构建二进制可执行文件并将它们复制到全局可见位置(/usr/local/)当中去。这样做既不影响原有的系统Python环境又能够方便地切换不同版本之间的使用情境: ```bash cd Python-3.x.y sudo ./configure --enable-optimizations sudo make altinstall ``` 特别提醒一点就是最后一条语句采用了`altinstall`而非普通的`make install`做法,主要是为了避免覆盖掉现有的同名命令入口(`python`)从而引起不必要的麻烦。 #### 设置虚拟环境(推荐) 考虑到多项目共存的需求以及隔离各应用程序之间潜在冲突的可能性,强烈建议利用virtualenv模块或者是更现代化的选择——venv标准库函数来建立独立的工作空间。这样做的好处是可以针对每一个具体的工程单独定制所需的第三方扩展包集合而不必担心相互干扰的问题发生。 如果选择了Anaconda作为管理和分发渠道的话,那么除了上述提到的功能特性之外还额外提供了图形界面化的IDE集成解决方案以及其他一系列便利设施供开发者选用[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值