首页 > 系统相关 >linux中部署python项目

linux中部署python项目

时间:2023-12-20 09:45:01浏览次数:47  
标签:5000 workflow python huawei 部署 虚拟环境 linux com

参考这篇博客:
https://blog.csdn.net/smilehappiness/article/details/117337943

1.首先查看python的版本:
python -V

2.安装python:
3.安装虚拟环境
报错1:

 解决办法:export CURL_CA_BUNDLE="/etc/pki/tls/certs/ca-bundle.crt"

https://3ms.huawei.com/km/blogs/details/14442367
https://3ms.huawei.com/km/groups/2032579/blogs/details/8264445

 

报错2:

解决办法:在命令后面指定url
https://3ms.huawei.com/km/blogs/details/11041183

最终执行成功的界面:
pip3 install virtualenv --trusted-host mirrors.tools.huawei.com -i http://mirrors.tools.huawei.com/pypi/simple

 

4 为项目创建虚拟环境
virtualenv /data/workflow_test/python_venv

5
切换到虚拟环境所在的目录
cd /data/workflow_test/python_venv

6 启用虚拟环境
执行命令:source ./bin/activate (deactivate是关闭虚拟环境)

7安装依赖清单里的库
这个依赖库要从本地获取:在local项目中执行pip3 freeze >requirements.txt,就可以导出本地项目中所有的依赖
执行命令: pip3 install -r /data/workflow_test/python_venv/requirements.txt --trusted-host mirrors.tools.huawei.com -i http://mirrors.tools.huawei.com/pypi/simple

8 列出当前虚拟环境所安装的依赖库
执行命令: pip3 list

9 启动python服务

在虚拟环境中进入项目中

使用以下命令,启动python服务:
nohup python workflow_api.py

10 linux中部署的python项目 找不到文件夹  No module named

解决方法参考:https://blog.csdn.net/lovetechlovelife/article/details/114991432
这种情况下的话,我们就需要让Python解释器知道我们的项目根目录(或者说根module)的位置,才能让程序正确地执行。

具体的操作就是,在环境变量配置文件中配置PYTHONPATH(比如,我们的项目在Linux上的位置为:/data/workflow_test/workflow):

编辑环境变量配置文件: vim ~/.bash_profile
在文件末尾追加如下两行,并保存:
# 注意这里是Python项目根目录的上一级目录
export PYTHONPATH=/data/workflow_test/workflow
退出保存:qw

使配置立即生效:source ~/.bash_profile
通过上面的配置之后,再执行此项目下的.py文件就可以正常运行了。

11 查看已经运行的python服务:

 ps -ef|grep python

 12 

项目中存在能ping通IP地址,但是打不开web应用程序,这时需要测试端口能否ping通。

 

13 

telnet测试远程5000端口连接失败,可能是因为以下原因之一:

1. 确认远程服务器是否已经开启了5000端口,并且允许外部访问。

2. 确认本地网络是否存在防火墙或者网络代理,可能会导致连接失败,需要将其关闭或者设置允许访问。

通过以下命令可以查看目标机器的5000端口是否开启: ``` netstat -l | grep 5000 ```

如果没有开启,可以使用以下命令开启: ``` systemctl start sshd ```

这将启动远程登录服务,并开启5000端口。

要确保目标Linux主机开启了5000端口,可以使用以下命令: ```netstat -tuln | grep 5000 ```

 

14 

flask api在远程服务器启动后 Running on http://127.0.0.1:5000
没法访问的问题

https://blog.csdn.net/xys2333/article/details/109027041

 启动成功后截图:

 

15 postman进行端口测试的时候继续报错,项目中用的是sqlite3的数据库

 解决办法:确保您的flask应用程序有权限写入数据库文件。可以使用chmod命令更改文件权限,例如:`chmod 777 your_database_file.db`。

 

标签:5000,workflow,python,huawei,部署,虚拟环境,linux,com
From: https://www.cnblogs.com/abc8023/p/17914724.html

相关文章

  • Python学习的相关资源
    Python是一门强大而且多用途的编程语言,在数据科学、机器学习、Web开发和软件工程等多个行业中都得到了广泛应用。 如果老师们和同学们对学习Python感兴趣,网上有很多免费Python资源可供使用,包括许多免费网站,提供教程、练习和交互式编程环境。 编程语言的学习不同于一般的......
  • 宝塔面板搭建部署wordpress个人网站实现无公网即可远程访问(小白建站福音!!)
    WordPress是一个非常灵活和强大的博客建站平台,适用于各种不同类型的网站建设需求。简单几步实现宝塔面板结合cpolar工具实现无公网远程访问,无需云服务器即可发布自己的网站到公网访问1.环境安装wordpress运行需要PHP环境,我们在宝塔商店中我们搜索PHP8.0版本安装 然后安......
  • Python(requests.post()、requests.get())
    目录1.requests.post()2.requests.get()3.requests.post()与requests.get()区别1.requests.post()requests.post是Python中requests库提供的一个函数,用于发送HTTPPOST请求。这个函数的基本语法如下:importrequestsresponse=requests.post(url,data=None,j......
  • 关联分析思想及其Python实现
    关联规则分析算法是一种用于挖掘数据集中项之间关系的技术,它可以揭示数据中的潜在模式和趋势。这种算法的核心思想是寻找数据集中频繁出现的组合,从而推断它们之间的关联关系。其中,Apriori算法是关联规则分析的代表之一。Apriori算法的基本原理是利用"先验原理",即如果一个项集是频......
  • linux还原uid
    原系统中磁盘的/dev/sda4挂载到了/home路径下。重装系统并创建之前的用户之后,该用户对自己家目录竟然没有权限。原因是用户的uid前后不一致。可通过还原uid解决。#查看自己现在的uid1005idhgdai#查看自己家目录所属的uid1001ls-ld/home/hgdai#查看当前系统中谁用了......
  • python网站创建012:DOM、BOM、jQuery的使用
    DOM:标签操作模块。这个模块里面的方法专门用来操作HTML的标签的。比如说获取HTML标签的文本、或者给HTML标签加上样式<body><!--1、比如这里定义了一个div,然后你想获取div里面文本,该如何操作--><divid="txt">你好</div><script>//定义一个自执行函......
  • Prometheus Python client library.
    PrometheusPythonclientlibrary.http://prometheus.github.io/client_python/ Examplehttps://pbrissaud.github.io/suivi-bourse/用户场景没有价值,此项目以全栈的视角实现了自定义exporter的实现,可以直接参考。watchesyourstockshareonPrometheus/Grafana ......
  • Linux--VM设置静态IP--VM&XShell连接
     1.配置环境Linux:CentOS7远程:XShell7 2.设置①打开虚拟机登录 cd/-->ipaddr 输入:cd/etc/sysconfig/network-scripts回车输入:viifcfg-ens33 --->进入网卡配置文件(必须在左下角Insert模式时编写可直接按......
  • Python 使用getopt解析命令行参数
    ​ 1、getopt模块此模块可协助脚本解析sys.argv中的命令行参数。它支持与Unixgetopt()函数相同的惯例(包括形式如'-'与'--'的参数的特殊含义)。也能通过可选的第三个参数来使用与GNU软件所支持形式相类似的长选项。1)getopt.getopt(args,shortopts,longopts=[])......
  • linux常用指令之用户及权限
    一、创建用户及用户组1、groupadd组名-----------创建用户组2、groupdel组名----------删除用户组3、cat/ect/group----------查看所有用户组4、useradd人名 ------------创建用户(在当前用户组下)5、useradd-g用户组人名 -----------------在某个用户组下创建用......