启动virtualenv脚本rc local

时间:2016-10-19 08:13:10

标签: python linux virtualenv boot

我是这个领域的新手,希望有人能帮助我。

所以我有一个后端项目,我需要在计算机打开时自动启动(我真的不在乎如何,使用systemd或rc.local,我的老板告诉我rc.local,但我猜要么会做)。我只需要启动一个docker容器,然后启动我的virtualenv然后运行该项目。

到目前为止,我已经在/etc/rc.local

尝试了此操作

docker start cassandratt #my docker container sleep 20 #an ugly hack to give time for the container to start cd /home/backend/ . venv/bin/activate . /run.py

它不起作用,但是docker容器启动了,所以我猜问题是关于virtualenv或python,我真的不知道,因为我没有任何关于这个领域的经验。

关于如何实现它的任何想法?

提前致谢

修改

按照Samer的指导,我尝试在激活virtualenv之后创建一个文件夹并且它创建得很好,所以我想问题是尝试执行run.py,也许加载virtualenv的python?

docker start cassandratt #my docker container cd /home/backend/ . venv/bin/activate mkdir test #folder created fine . /run.py mkdir test2 #folder not created

1 个答案:

答案 0 :(得分:0)

因此,部分解决方案似乎设置了一些变量而不是直接访问它们。至少这对我有用。感谢Samer给了我们一个很大的提示:)

HOME=/home/backend #the project path docker start container . $HOME/venv/bin/activate #activates the virtualenv of the project /usr/bin/env python $HOME/run.py & #runs the run.py through virtualenv's python #and runs it in the background exit 0