python脚本部署到新服务器
项目本身的依赖,包含在本地的venv中,可能会因为本地和服务器系统版本或默认路径原因导致报错,因此这里重新安装依赖。这里用的mobaXterm自带的sftp上传文件到服务器指定路径,通常压缩后上传,再使用tar命令解压即可。注:项目如果在本地运行过,pycharm会在项目根目录创建一个venv的虚拟环境文件,这个最好不要上传。文件,其中包含当前虚拟环境中安装的所有 Python 包及其版本。如果是
一、复制项目到服务器
如果是服务器到服务器,可以使用scp命令,可自行搜索。
scp [选项] [源文件] [目标路径]
这里用的mobaXterm自带的sftp上传文件到服务器指定路径,通常压缩后上传,再使用tar命令解压即可。
注:项目如果在本地运行过,pycharm会在项目根目录创建一个venv的虚拟环境文件,这个最好不要上传。
tar -zxvf project.tar
# 报错可能是文件不支持gzip,使用xvf参数
tar -xvf project.tar
二、创建虚拟环境
若服务器是刚初始化,无conda,可参考另一篇文章linux安装annconda3-CSDN博客进行安装。
# 创建虚拟环境
conda create -n venvName python==3.12.11
# 激活环境
conda activate venvName
# 查看当前所有虚拟环境
conda env list
三、安装依赖
项目本身的依赖,包含在本地的venv中,可能会因为本地和服务器系统版本或默认路径原因导致报错,因此这里重新安装依赖。
1.手动安装依赖
# 举例
pip install numpy
2.通过requirements.txt安装
进入到项目的根目录,直接执行requirements.txt文件安装依赖。如果没有该文件看最后如何生成。
pip install -r requirements.txt
# 如果因为网络问题导致安装失败,使用镜像源下载
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
四、启动项目
运行nohup命令,执行main.py,即后台启动并挂起。
nohup python your_script.py > output.log 2>&1 &
- 1、&是后台运行
- 2、nohup : 不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;
五、检查是否启动
查看python进程,若显示有启动的项目名即运行成功。
ps -ef | grep python
六、生成requirements.txt(不需要则跳过)
1、查看包
pip freeze 是一个 Python 命令,用于列出当前虚拟环境(virtual environment)中安装的所有 Python 包及其版本。这个命令在创建项目的依赖清单(requirements.txt)时非常有用,以便在其他环境中重新安装相同的依赖包。
使用 Pycharm 打开工程,在下方中打开Terminal终端,输入pip freeze ,可查看项目所安装的所有第三方库。
pip freeze
2、生成requirements.txt
在终端中输入pip freeze > requirements.txt,可在工程目录下生成requirements.txt文件,其中包含当前虚拟环境中安装的所有 Python 包及其版本。
pip freeze > requirements.txt

3、检查requirements.txt
文件默认生成在项目根目录,检查如下格式即可。

但如果生成如下格式,带有@file的路径,使用如下代码即可。
(这是 pip 安装软件包的一种特殊语法(自19.1开始受支持)PEP404,但是该种路径取决于环境,file:///URL 仅在本地文件系统上可用,你不能将生成的 requirements.txt 文件在另一台电脑上使用。)
pip list --format=freeze > requirements.txt

更多推荐
所有评论(0)