ubuntu里自启动时未执行virtualenv的原因
我的服务器上有几套python相关的环境,目前在用virtualenv创建虚拟环境以避免冲突,比如django用一套,jupyter用一套。
自己登陆上去肯定就直接执行了类似source virenv/bin/activate的命令来启动相关的环境,不过我也不想每次重启后还需要手动操作一遍,于是在/etc/rc.local中添加了相关命令来启动不同的服务,那么每次重启后就可以直接进入相关页面浏览。
不过现在遇到一个问题,我在rc.local中添加了对应的操作,重启后却未能生效。比如我会先切换到django的路径下(cd /home/test/django),启动虚拟环境(source ./virenv/bin/activate),启动uwsgi(uwsgi -i conf/uwsgi.ini,nginx已经配置好对应的)。但是重启后发现uwsgi并没有启动起来。
经过排查后发现是因为rc.local的顶端有一句"#!/bin/sh -e",而source的命令不能执行,于是修改为"#!/bin/bash -e"保存,再次重启就一切正常,不同的服务都启动起来了。
下一篇:
Python爬虫(一)基础准则和基本概念
上一篇:
Vue在做数字更新动画时增加逗号格式化