我的Vagrantfile看起来像这样(某些部分缺失):
Vagrant.configure("2") do |config|
# Provisioning
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = ["provisioning/chef/cookbooks"]
chef.log_level = :debug
chef.run_list = ["recipe[python]"]
end
end
根据Opscode python recipe Readme,可以使用python_pip
命令安装python包,使用python_virtualenv
命令安装python virtualenvs。
如何将它们整合到我的Vagrantfile
?
答案 0 :(得分:3)
pip
和virtualenv
已作为python的default
食谱的一部分包含在内。通过指定recipe[python]
,您有效地加载了recipe[python::default]
includes各自的安装方法,pip和virtualenv。{/ p>
为了使用python_pip
和python_virtualenv
提供程序(顾名思义它们提供了功能),您只需将它们添加到自定义应用程序配方中,如cookbook的README文件中所建议的那样
python_pip "gunicorn"
python_virtualenv "/home/ubuntu/my_cool_ve" do
owner "ubuntu"
group "ubuntu"
action :create
end
你需要创建自己的食谱/食谱。我建议首先要了解烹饪书的逻辑,但如果你想要启动,你可以使用像
这样的东西cd to/your/cookbooks/directory
mkdir mycookbook
cd mycookbook
mkdir recipes
touch README.md
cat >recipes/default.rb <<-EOF
# create sample directory
directory "/tmp/xx"
python_pip "gunicorn"
python_virtualenv "/home/ubuntu/my_cool_ve" do
owner "ubuntu"
group "ubuntu"
action :create
end
EOF
并将此食谱添加到运行列表recipe[mycookbook]
。
chef.run_list = ["recipe[python]", "recipe[mycookbook]"]
等资源