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

如何在Linux/Ubuntu托管服务器部署Python应用及解决打包与依赖问题

部署基于Selenium+pyodbc的Python应用到Linux/Ubuntu服务器

一、正确生成Linux可执行包(PyInstaller方式)

你之前生成.exe是Windows平台专属格式,Linux/Ubuntu无法识别。必须在Linux环境(服务器本身、本地Linux虚拟机或WSL均可)内完成打包:

  1. 在Linux环境搭建Python环境并安装项目依赖:
    pip install selenium pyodbc
    
  2. 安装PyInstaller:
    pip install pyinstaller
    
  3. 执行正确的打包命令(你之前的命令少写了file,需用--onefile参数):
    pyinstaller --onefile main.py
    
  4. 打包完成后,dist目录下会生成一个无后缀的可执行文件,这就是能在Linux/Ubuntu上直接运行的程序包。

二、服务器必须预先安装的依赖

1. Selenium相关组件

Selenium依赖浏览器及对应驱动,以Chrome为例:

  • 安装Chrome浏览器:
    sudo apt update && sudo apt install -y chromium-browser
    
  • 安装匹配版本的ChromeDriver:
    sudo apt install -y chromium-chromedriver
    
    若版本不匹配,可手动下载对应版本的驱动,放到/usr/bin/等系统路径下,确保Selenium能正常调用。

2. pyodbc相关组件

pyodbc需要ODBC驱动连接SQL Server,Ubuntu上需安装微软官方ODBC驱动:

  • 添加微软APT源:
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
    
  • 安装ODBC驱动及开发工具:
    sudo apt update && sudo ACCEPT_EULA=Y apt install -y msodbcsql17 unixodbc-dev
    

3. 其他潜在依赖

如果应用用到字体、图像处理等系统级库,需根据运行时报错补充安装,但核心依赖为上述两类。

三、能否无需额外安装直接运行?

不可能。PyInstaller仅能打包Python代码及纯Python依赖,无法打包Chrome、ODBC驱动这类系统级二进制组件,因此服务器必须预先安装这些基础组件才能运行应用。

四、替代方案(无需打包,直接运行源码)

若不想用PyInstaller,可直接在服务器部署Python环境运行源码:

  1. 安装Python3及pip:
    sudo apt install -y python3 python3-pip
    
  2. 安装项目依赖:
    pip3 install selenium pyodbc
    
  3. 上传main.py及相关文件,直接运行:
    python3 main.py
    
    这种方式更灵活,适合后续需要修改代码的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:15:41