Python 正在启动virtualenv脚本rc local

Python 正在启动virtualenv脚本rc local,python,linux,virtualenv,boot,Python,Linux,Virtualenv,Boot,我是这个领域的新手,希望有人能帮助我 因此,我有一个后端项目,需要在计算机开机时自动启动(我真的不在乎如何使用systemd或rc.local,我的老板告诉我rc.local,但我想两者都可以)。我只需要启动一个docker容器,然后启动我的virtualenv,然后运行项目 到目前为止,我已经在/etc/rc.local docker start cassandratt#我的docker容器 sleep 20#这是一个丑陋的黑客程序,让容器有时间启动 cd/主页/后端/ . venv/bin/

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

因此,我有一个后端项目,需要在计算机开机时自动启动(我真的不在乎如何使用systemd或rc.local,我的老板告诉我rc.local,但我想两者都可以)。我只需要启动一个docker容器,然后启动我的virtualenv,然后运行项目

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

docker start cassandratt#我的docker容器
sleep 20#这是一个丑陋的黑客程序,让容器有时间启动
cd/主页/后端/
. venv/bin/激活
. /run.py

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

你知道我怎样才能做到吗

提前谢谢

编辑:

按照Samer的指导,我尝试在激活virtualenv后创建一个文件夹,它创建得很好,所以我支持问题是尝试执行run.py,可能是加载virtualenv的python

docker start cassandratt#我的docker容器
cd/主页/后端/
. venv/bin/激活
mkdir test#文件夹创建良好
. /run.py

mkdir test2#文件夹未创建

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


提供这些可执行文件/脚本的完整路径。并使用/path/to/activate和'python/path/to/run.py'运行它们,到virtualenv的完整路径是:/home/backend/venv/bin/activate。我在一个shell上尝试了它,我的权限被拒绝了,所以这是你的问题,允许权限执行“激活”我从根终端获得同样的被拒绝的权限。这不应该发生,是吗?不应该尝试“chmod+x/home/backend/venv/bin/activate”可能该文件未设置为可执行文件。很高兴提供帮助!。
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