很好用的代码部署工具,由于年久失修,问题多多在python2环境下全新安装失败。历史项目还得用,从其他可运行的系统迁移一套,但是由于python不熟迁移和恢复的时候踩了坑,记录一下。
这个系统使用了python的虚拟环境,在启动的时候也是激活到环境中去启动应用的,分析启动工具admin.sh
function start() {
echo "Starting walle"
echo "----------------"
source ./venv/bin/activate # 激活当前目录的虚拟环境
mkdir -p logs
nohup python ${APP} >> logs/runtime.log 2>&1 & #启动应用
echo -e "Start walle: [\033[32m ok \033[0m]"
echo -e "runtime: \033[32m logs/runtime.log \033[0m"
echo -e "error: \033[32m logs/error.log \033[0m"
}
在启动时会失败,所以先要判断启动应用时环境是否用的虚拟环境
首先是要进入到环境中
source ./venv/bin/activate
然后检测一下当前环境是在哪里
which python
如果是/usr/bin/python应该是系统级别的环境,则证明虚拟环境没有正确激活。
如果路径指向虚拟环境目录下的解释器(例如 ./venv/bin/python),则证明激活成功。
确认是否安装了虚拟环境
pip install virtualenv
配置环境
virtualenv --no-site-packages venv
再次重复检测环境方法结果为,激活成功。
# which python
/srv/www/walle-web/venv/bin/python
本文由 best 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。