Python项目打包部署到服务器的实现

 更新时间:2025年01月15日 11:42:30   作者:阿里小阿希  
本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下

一、准备工作

  • 开发环境:本文以PyCharm为例,其他IDE或文本编辑器同理。
  • 服务器:本文以Ubuntu为例,其他Linux系统同理。
  • Python项目:已完成开发并能在本地正常运行。

二、项目打包

Python项目打包通常使用pip安装依赖,并通过setuptools创建可执行的脚本。

  • 安装打包工具
    首先,确保你的环境中安装了setuptoolswheel
pip install setuptools wheel
  • 创建setup.py在项目根目录下创建一个setup.py文件,内容如下:
from setuptools import setup, find_packages
setup(
    name='your_project_name',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[
        # 这里填写项目依赖的包,例如
        'Flask==1.1.2',
        'requests==2.25.1',
    ],
    entry_points={
        'console_scripts': [
            'your_script_name=your_package.module:main_function',
        ],
    },
)

替换your_project_nameyour_script_nameyour_package.modulemain_function为你的项目信息。
3. 打包项目
在命令行中,进入项目根目录,执行以下命令进行打包:

python setup.py sdist bdist_wheel

打包完成后,你会在dist目录下找到.tar.gz.whl文件。

三、部署到服务器

  • 上传打包文件到服务器
    使用SCP命令将打包好的文件上传到服务器:
scp dist/your_project_name-0.1.0-py3-none-any.whl user@your_server_ip:/path/to/deploy
  • 安装项目依赖
    连接到服务器,并安装项目依赖:
ssh user@your_server_ip
cd /path/to/deploy
pip install your_project_name-0.1.0-py3-none-any.whl

或者,如果你上传了.tar.gz文件,可以使用以下命令安装:

pip install your_project_name-0.1.0.tar.gz
  • 运行项目
    安装完成后,你可以直接运行你的脚本:
your_script_name

如果需要后台运行,可以使用nohup&

nohup your_script_name &
  • 查看运行日志
    查看运行日志:
tail -f nohup.out

四、设置服务自启动

为了使项目在服务器启动时自动运行,可以创建一个系统服务。

  • 创建服务文件
sudo nano /etc/systemd/system/your_project_name.service

添加以下内容:

[Unit]
Description=My Python Project Service
After=network.target
[Service]
User=user
ExecStart=/usr/bin/python /path/to/your_script_name
Restart=on-failure
[Install]
WantedBy=multi-user.target

替换user/path/to/your_script_name为你的用户名和脚本路径。

启动并使服务自启动

sudo systemctl start your_project_name
sudo systemctl enable your_project_name

现在,你的Python项目应该已经成功部署到服务器并配置为自启动服务。如果需要重启或停止服务,可以使用以下命令:

sudo systemctl restart your_project_name
sudo systemctl stop your_project_name

通过以上步骤,你的Python项目已经可以稳定运行在服务器上了。

到此这篇关于Python项目打包部署到服务器的实现的文章就介绍到这了,更多相关Python项目打包部署到服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 实现读取csv数据,分类求和 再写进 csv

    python 实现读取csv数据,分类求和 再写进 csv

    这篇文章主要介绍了python 实现读取csv数据,分类求和 再写进 csv,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • django与小程序实现登录验证功能的示例代码

    django与小程序实现登录验证功能的示例代码

    这篇文章主要介绍了django与小程序实现登录验证功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Python使用Pexpect库实现自动化与终端交互的任务

    Python使用Pexpect库实现自动化与终端交互的任务

    Pexpect 是一个 Python 库,用于自动化与终端交互的任务,它提供了一种简单的方式来编写脚本,以便与终端程序进行交互,下面我们就来深入了解一下Pexpect库的具体使用吧
    2023-12-12
  • 快速查询Python文档方法分享

    快速查询Python文档方法分享

    这篇文章主要介绍了快速查询Python文档方法分享,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • python中的PywebIO模块制作一个数据大屏

    python中的PywebIO模块制作一个数据大屏

    这篇文章主要介绍了python中的PywebIO模块制作一个数据大屏,一个制作数据大屏的工具,非常的好用,100行的Python代码就可以制作出来一个完整的数据大屏,并且代码的逻辑非常容易理解,需要的朋友可以参考一下
    2022-03-03
  • 在Python下使用Txt2Html实现网页过滤代理的教程

    在Python下使用Txt2Html实现网页过滤代理的教程

    这篇文章主要介绍了在Python下使用Txt2Html实现网页过滤代理的教程,来自IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • Django点赞的实现示例

    Django点赞的实现示例

    本文主要介绍了Django点赞的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 解决python字典对值(值为列表)赋值出现重复的问题

    解决python字典对值(值为列表)赋值出现重复的问题

    今天小编就为大家分享一篇解决python字典对值(值为列表)赋值出现重复的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 实例方法、类方法、静态方法的区别与作用

    Python 实例方法、类方法、静态方法的区别与作用

    Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?感兴趣的朋友跟随小编一起看看吧
    2019-08-08
  • 如何在python中用os模块实现批量移动文件

    如何在python中用os模块实现批量移动文件

    在工作中难免会遇到需要批量整理文件的情况,当需要从一堆文件中将部分文件批量地转移时,如果手工一一转移难免浪费时间,这篇文章主要给大家介绍了关于如何在python中用os模块实现批量移动文件的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论