在流浪汉上运行python脚本

Yar*_*dan 3 python vagrant vagrantfile

我正在尝试运行一个vagranfile,它将导致运行python flask应用程序.我已经尝试使用它作为实现此目的的最后一个命令 - config.vm.provision :shell, :path => "python app.py" 但它导致以下错误 -

*路径for shell provisioner does not exist on the host system: /Users/*****/code/app-vagrant/python app.py

据我所知,该脚本试图从主机运行此命令,如何让Vagrant在启动的vagrant机器上运行脚本?

Fré*_*nri 5

你有2个选项来使用vagrant shell provisioner运行脚本,你必须传递inlineor path参数:

inline(string) - 指定要在远程计算机上执行的内联shell命令.

path(字符串) - 要上载和执行的shell脚本的路径.它可以是相对于项目Vagrantfile的脚本或远程脚本(如gist).

所以当你通过:path => "python app.py"系统时,试图找到python app.py你主机上命名的脚本.

替换使用inline参数,它将实现你想要的

config.vm.provision :shell, :inline => "python app.py"
Run Code Online (Sandbox Code Playgroud)

注意:root默认情况下,配置程序作为用户运行,如果要更改并以vagrant用户身份运行它:

config.vm.provision :shell, :inline => "python app.py", :privileged => false
Run Code Online (Sandbox Code Playgroud)