宝塔部署Python项目问题汇总
大数据和AI的用途越来越广泛,再也不是大公司的专属;
一、ModuleNotFoundError: No module named 'json'
宝塔部署Python项目网上的教程有很多不在赘述;部署完成启动项目提示成功,但是状态一直是“已暂停”;查看日志报错信息为:
ModuleNotFoundError: No module named 'json'
解决方案:
修改配置文件中:
user = 'www' 修改为 user = 'root'
二、宝塔利用git+ webhooks 实现git更新远程同步云服务器
官网教程:https://gitee.com/help/articles/4181#article-header0
ssh -T git@gitee.com 这个命令不能少
添加webhooks后,一定在ssh命令行测试是否可以不用输入用户名密码即可clone项目
如果添加了rsa或者公钥依然要输入用户名密码可以试试,git仓库的ssh链接
在shell脚本中也需要修改:
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#git项目路径
gitPath="/www/wwwroot/$1"
#git 网址 注意!注意!注意!
#gitHttp="https://gitee.com/isu5cn/$1.git"
gitHttp="git@gitee.com/isu5cn/$1.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
mv gittemp/.git .
rm -rf gittemp
fi
#拉取最新的项目文件
git reset --hard origin/master
git pull
#设置目录权限
chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
三、线上/线下 配置文件不一样,总是被同步怎么办?
解决方案:忽略不想提交的文件(忽略跟踪)
git update-index --assume-unchanged 要忽略的文件(建议绝对路径) #忽略跟踪
git update-index --no-assume-unchanged 要恢复的文件(建议绝对路径) #恢复跟踪
四、宝塔部署Python项目提示和实际不符
比如:项目起是启动成功,实际还是没有启动;已实际测试为准,并查看日志报错信息
比如:WebHook提示更新代码成功,实际没有更新成功