在Linux服务器上简单部署一个Python项目

news2024/11/25 10:45:47

一、在对应的服务器上检查有无Python环境

       大部分Linux系统都是自带了Python环境的,查看是否具备Python的运行环境,可以通过命令
       Python --version 或者 Python3 --version 查看。

在这里插入图片描述

       如果你的项目需要Python3的环境,而系统又没有,则需要通过命令:
       sudo yum install python3 进行安装

二、在服务器上创建对应项目的文件

      为了便于管理,可以通过mkdir xxx 命令创建一个文件,后续用于存放拷贝的项目的文件

三、收集项目的依赖包

       在pycharm的控制台执行命令:pip freeze > requements.txt 该命令可以将当前pycharm使用的
       python解释器中的依赖包全部收集到requements.txt 文件中,为了避免收集无用的依赖包,建议给
       目标项目使用虚拟环境解释器,这样就只会收集到当前项目的依赖包了。

       切换当前项目的虚拟镜像:打开pycharm  ---设置-----项目 ----python解释器(添加解释器)---
       选择虚拟环境--新建一个解释器

在这里插入图片描述

在这里插入图片描述

四、将项目拷贝到服务器

      我们这里只是做简单的部署配置,因此不会去配置git,所以我这边会从本地将文件拷贝至服务器
      如果你是Linux系统:
          可以在本机通过命令scp /home/user/example.txt user@127.0.0.0:/home/user/data/ 
	      来实现文件拷贝,其中,/home/user/example.txt  是你想要拷贝的文件路径以及文件名,
	      user是指目标服务器的用户名,127.0.0.0 需要替换为目标机器的ip
	      :/home/user/data/ 为目标机器存放被拷贝文件的路径
	      在您输入该命令后,系统会提示您输入远程计算机的密码
	   如果你是Windows系统:
	        Windows系统是无法支持scp命令的,我们安装一个putty插件,下载路径为:
	        https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
            安装完成之后,进入dos命令界面,进入putty插件的安装路径:
            C:\Program Files\PuTTY(我是默认安装路径),使用pscp命令,实现Windows系统的文件复制
            到Linux系统,具体命令如下:
            pscp demo_path\test.js root@127.0.0.1:/root/python_project 具体的配置与Linux一致

五、创建Python运行的虚拟环境,并启动

      将文件拷贝至服务器上后,进入项目文件中,通过命令:python -m venv env_name 创建虚拟环境,
      其中env_name 为虚拟环境的名称

      启动创建的虚拟环境:通过命令 source 环境名称/bin/activate ,虚拟环境激活之后,对应的环境名
      会出现在命令行

在这里插入图片描述

      关闭虚拟环境的命令:deactivate

六、安装对应项目的依赖包

      虚拟环境启动之后,我们就可以在虚拟环境中安装我们对应项目的依赖了,可以通过命令
      pip install·-r requements.txt 安装项目的依赖包(requements.txt为项目收集的依赖包地址)
      如果对应的Linux环境中未配置国内镜像源,导致依赖包安装缓慢,可以通过命令
      pip install· -i 国内镜像源地址   -r requements.txt 安装项目依赖包

       如果没有存放依赖包的文件,也可以直接使用命令: pip install 第三方库名 进行安装

七、运行主程序文件

      在虚拟环境可以直接通过命令:python xx.py 运行程序文件,但是该命令无法让主程序文件处于后台运行状态,一旦关闭会话页面,程序就会停止

在这里插入图片描述

      为了让程序能够在后台运行,可以使用命令:nohup python xx.py,该命令可以让程序文件处于后台运行
      状态,并且能够将运行日志收集到nohup.out文件中。

以上就是在Linux上简单部署一个python项目的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 开启 swap 分区详细教程

故事背景: 哥们云机器内存资源不足,搞个 kafka eagle 监控,刚跑起来就卡死了,就很无语,哥们忙活,算了直接开搞,内存不够,硬盘来凑,拿着硬盘去做swap分区,也能…

JavaEE-SpringMVC-云借阅图书管理系统(包含源码、数据库sql文件、报告)

文章目录 前言云借阅系统功能结构图云借阅系统结构层次云借阅系统项目文件组织结构开发环境具体操作1. Maven仓库修改2. MySQL数据库配置文件3. Tomcat运行截图 总结 前言 参考借鉴黑马程序员书籍;和老师上课讲解的代码和PPT。核心代码由自己编写完成,核…

【夜深人静学数据结构与算法】回溯算法

目录 前言: 回溯算法: 回溯法的常见应用: 回溯法的模板: 回溯法的图解:​ 案例: 77. 组合 - 力扣(LeetCode) 总结: 前言: 回溯算法是一个比较抽象的算法,因此我们…

JavaScript中的面向对象

面向对象编程是一种编程范式。 面向对象。何为对象? 复习一下: JavaScript中的数据类型分为: 原始类型:数值型,字符串型,布尔型、ES6新增的symbol 特殊类型:undefined型,null型 组合…

chatgpt赋能python:隐藏输入:保护密码和敏感数据的有效方法

隐藏输入:保护密码和敏感数据的有效方法 在今天的数字时代,网络安全成为了无所不在的话题。密码和敏感数据的泄漏是任何人都不想看到的结果。因此,在这种情况下,隐藏输入成为了保护我们的密码和敏感数据的有效方法。 Python是数…

el-date-picker设置右侧显示图标

<template><div><el-form ref"form" label-width"100px"><el-form-item label"日期&#xff1a;" class"date_box"><el-date-picker v-model"time" type"date" :clearable"true&…

【GaussDB分布式特性】

GaussDB分布式特性 实验环境一、分布式架构二、分片和分区 实验环境 华为云GaussDB云数据库&#xff0c;规则如下&#xff1a; 集群拓扑结构&#xff0c;如下&#xff1a; 一、分布式架构 逻辑架构 常用部署方式 部署说明&#xff1a; 1.双AZ采用带第三方仲裁方式部署&am…

利用低代码平台实现协同办公,助力企业提升效益

概要&#xff1a;本文介绍了协同办公的作用&#xff0c;以及利用低代码平台实现协同办公的优势。同时也分享了天翎为华晨汽车打造的低代码协同工具&#xff0c;帮助企业提高管理效率&#xff0c;改善运营模式&#xff0c;提升产品质量及生产精益化。展示了咨询库、原料质量录入…

无锁队列ringbuff实现以及性能

文章目录 一、使用场景二、对比有锁优势三、无锁队列实现方式四、循环队列实现1&#xff09;数据结构设计3&#xff09;代码实现4&#xff09;性能测试5&#xff09;总结 一、使用场景 无锁队列主要适用于高并发场景或者对性能要求较高的场景&#xff0c;主要使用场景有如下几…

pytorch的permute(dims) 函数的功能详解

有三块 二维矩阵 如下 把二维矩阵堆叠起来&#xff0c;就是三维 矩阵 这样的矩阵 从x方向看&#xff08;0维&#xff09; 有三块 记为3&#xff0c;每块从y方向看&#xff08;1维&#xff09;的行是3&#xff0c;从z方向看&#xff08;2维&#xff09;列也是3&#xff0c;故三…

计算机中丢失mfc140.dll怎么解决?mfc140.dll是什么文件?

在计算机运行软件或者游戏的时候&#xff0c;提示mfc140.dll丢失&#xff0c;无法正常启动运行。 mfc140.dll是Windows操作系统中用于支持C编程语言的一个动态链接库&#xff0c;它包含了C运行时库的一些基本功能。用于支持Microsoft Visual Studio的MFC&#xff08;Microsoft …

论文解读:FastSAM | Fast Segment Anything | 基于yolov8-seg实现 比SAM快50倍

发表时间&#xff1a;2023.06.21 论文地址&#xff1a;http://export.arxiv.org/pdf/2306.12156 项目地址&#xff1a;https://github.com/CASIA-IVA-Lab/FastSAM 最近提出的任意分割模型&#xff08;SAM&#xff09;在许多计算机视觉任务中产生了重大影响。它正在成为许多高级…

NIO总结

简要介绍 NIO&#xff08;Non-blocking IO&#xff09;是Java 1.4版本开始引入的一个新的IO API&#xff0c;旨在代替传统IO&#xff0c;它引入了缓冲区和通道的概念&#xff0c;通过选择器实现多路复用。 传统IO会区分字节流InputStream和OutputStream以及字符流Reader和Wri…

GD32 时钟和晶振修改

芯片型号&#xff1a;gd32f470zi 库版本&#xff1a;GD32F4xx_Firmware_Library_V3.0.4 当需要修改外部晶振和主频时需要修改到以下几个地方 1.gd32f4xx.h //此宏定义为我们实际使用的外部晶振频率&#xff0c;此处改为实际使用的25M #define HXTAL_VALUE ((uint32_t)2…

单片机学习 13-I2C_EEPROM

I2C-EEPROM 实验 ​ 这一章我们来学习如何使用 51 单片机的 IO 口模拟 I2C 时序&#xff0c;并实现与AT24C02&#xff08;EEPROM&#xff09;之间的双向通信。开发板板载了 1 个 EEPROM 模块&#xff0c;可实现IIC 通信。本章要实现的功能是&#xff1a;系统运行时&#xff0c…

如何排查 Electron V8 引发的内存 OOM 问题

经过长达大半年时间的崩溃治理后&#xff0c;基于 Electron 框架开发的新版 PC 淘宝直播推流客户端的稳定性终于赶超基于QT 框架开发的旧版本了。剩下的崩溃问题中有 40% 是跟内存 OOM 有关&#xff0c;其中 V8FatalErrorCallback js heap OOM 问题整整困扰了我一个多月。历经千…

Pytorch--模型微调finetune--迁移学习 (待继续学习)

https://www.bilibili.com/video/BV1Z84y1T7Zh/?spm_id_from333.788&vd_source3fd64243313f29b58861eb492f248b34 主要方法 torchvision 微调timm 微调半精度训练 背景&#xff08;问题来源&#xff09; 解决方案 大模型无法避免过拟合&#xff0c;

嵌入式综合性开源项目分享

不定期有小伙伴问&#xff1a; 哪里有好的嵌入式项目&#xff1f; 怎么才能提高编程水平&#xff1f; 有实战项目可以分享一下吗&#xff1f; 目录 第一&#xff1a;嵌入式综合Awesome Embedded 第二&#xff1a;多功能按键MultiButton 第三&#xff1a;软件定时器模块M…

计算机网络学习笔记-应用层

目录 概述 客户-服务器方式&#xff08;C/S&#xff09; 对等方式&#xff08;P2P&#xff09; 域名系统DNS 域名 四种类型 根域名服务器 顶级域名服务器 权限域名服务器 本地名服务器 域名解析过程 万维网WWW 超媒体与超链接 工作方式 URL&#xff08;统一资源…

Spring Boot 中的 WebSocketMessageBrokerConfigurer

Spring Boot 中的 WebSocketMessageBrokerConfigurer 在现代 Web 应用程序中&#xff0c;WebSocket 已成为一种流行的通信协议&#xff0c;它允许客户端和服务器之间实时双向通信。在 Spring Boot 中&#xff0c;我们可以使用 WebSocketMessageBrokerConfigurer 接口来配置 We…