linux中部署python项目

参考这篇博客:
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`。

 

posted @ 2023-12-20 09:40  藤露  阅读(363)  评论(0编辑  收藏  举报