目录
第一步:创建个阿里云服务器(我配置的系统是ubantu20.04)
第二步:安装nginx(切换成root用户,并进入/~(root)路径)
说明:由于最近有个可视化项目需要部署到服务器中运行,关于此类的资源比较分散,所以在经过资料的整理,bug的解决,写下了我的第一篇文章~有问题欢迎讨论
在阿里云服务器部署flask项目
第一步:创建个阿里云服务器(我配置的系统是ubantu20.04)
- 账号密码设置

连接远程服务器(我用的是finalShell3.9)

第二步:安装nginx(切换成root用户,并进入/~(root)路径)
更新安装源
apt update
安装nginx
apt install nginx
访问服务器的公网ip,见下述信息,则安装成功了.

第三步:安装虚拟环境管理包
更新pip
pip3 install --upgrade pip
安装虚拟环境管理包
pip install virtualenvwrapper
pip list 查看是否安装成功

虚拟环境配置
vi .bashrc
(切记别忘记了.)
在配置文件的末尾添加代码
[En]
Add code at the end of the configuration file
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
执行命令
source ~/.bashrc
ls -al查看,看见新增一个.virtualenvs文件夹即可

创建虚拟环境
mkvirtualenv –python=/usr/bin/python3 test_env
进入.virtualenvs文件夹查看刚刚创建的虚拟环境(test_env)

进入虚拟环境
workon test_env

运行flask文件
cd /srv
进入srv目录下,创建一个test的文件夹,(mkdir test
)cd test
在test文件夹下,pip install flask, apt install git(这里我是用git从远程仓库拉取我的flask项目,所以下载个git包)- 运行文件(
python app.py
) 注意这里要配置host才能从外网访问


如果你还是打不开的话请检查云服务器中的网络协议,添加5000端口即可。然后访问你的 公网ip
+:5000即可

第四步:安装uwsgi(应用服务器)
- pip install uwsgi
- 进入/srv/test目录 创建 uwsgi.ini文件
vi uwsgi.ini
配置下述内容
[uwsgi]
#项目路径
chdir = /srv/test/
#flask的uwsgi文件
wsgi-file = /srv/test/app.py
#回调的app对象
callable = app
#Ptyhon虚拟环境路径
home = /root/.virtualenvs/test_env
#进程相关的设置
#主进程
master = true
#最大数量的工作进程
processes = 10
http = :5000 监听5000端口(或监听socket文件,与nginx配合)
-
启动uwsgi(
uwsgi --ini uwsgi.ini
) -
输入公网地址+你设置的端口号测试是否成功

恭喜你~部署成功啦~
Original: https://blog.csdn.net/weixin_49249041/article/details/117399416
Author: ethaanz
Title: 在阿里云服务器部署flask项目(从0开始)
相关阅读
Title: (三) 使用Pandas进行数据分析 – 新增(修改)数据列
在数据分析中,往往需要根据一定的条件创建新的数据列,然后进行进一步的分析。
[En]
In data analysis, it is often necessary to create new data columns according to certain conditions, and then carry out further analysis.
这里介绍四种方法:
- 直接赋值
- df.apply方法
- df.assign方法
- 按条件选择分组分别赋值
直接赋值的方法
#首先创建一个DataFrame
import numpy as np
import pandas as pd
s1 = np.arange(1,10).reshape(3,3)
df1 = pd.DataFrame(s1)
获得如下dataframe

直接赋值新增列的方法(使用.loc):
df1.loc[:,'new_col'] = df1[0] + df1[1]
#df1[0]返回的是一个Series,这个加法返回的结果也是一个Series,然后赋给新列'new_col'
#加法是根据两个Series对应的index的值相加的

df.apply方法
Apply a function along an axis of the DataFrame.
Objects passed to the function are Series objects whose index is either the DataFrame’s index
(axis = 0) or the DataFrame’s columns(axis = 1).
实例:添加一列新数据
- df1[0]为1,则生成A;为4,则生成B;为7,则生成C
#首先定义一个判断函数,再传入df.apply内(这里也可以使用lambda)
def mp(df):
if df[0] == 1:
return 'A'
if df[0] == 4:
return 'B'
if df[0] == 7:
return 'C'
#这里注意需要设置axis = 1
df1.loc[:,'new_col_2'] = df1.apply(mp,axis = 1)
得到如下结果:

这里有一个小知识点。检查各种类型的计数,查看是否已成功添加新列。
[En]
Here is a small knowledge point. Check the counts of various types to see if the new column has been added successfully.
df1['new_col_2'].value_counts()

df.assign方法
Assign new columns to a DataFrame.
Return a new object with all original columns in addition to new ones.
此方法可以同时添加多个新列,但它不修改源对象并生成新对象。
[En]
This method can add multiple new columns at the same time, but it does not modify the source object and generates a new object.
df1.assign(
'new_col_3' = lambda x : x[0] + x[1],
'new_col_4' = lambda x : x[0] - x[1])
按条件选择分组分别赋值
#首先创建一个新列,值为空
df1['new'] = ''
#这里运用了Pandas的广播机制,df1['new']是一个Series,但是让它等于单个值,pandas就会把这个值复制到每一行
#然后进行条件赋值
df1.loc[df1[0] - df1[1] > 0,'new'] = '正数'
df1.loc[df1[0] - df1[1] < 0,'new'] = '负数'

Original: https://blog.csdn.net/weixin_42598505/article/details/123002592
Author: 数据人章同学
Title: (三) 使用Pandas进行数据分析 – 新增(修改)数据列
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/302393/
转载文章受原作者版权保护。转载请注明原作者出处!