3

私の 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 レシピ Readmeによると、コマンドで python パッケージ、python_pipコマンドで python virtualenvsをインストールすることが可能python_virtualenvです。どうすればそれらを私の に統合できますVagrantfileか?

4

1 に答える 1

3

pipとはvirtualenv、Python のdefaultレシピの一部として既に含まれています。それぞれのインストール方法、pip、および virtualenvを含むrecipe[python]レシピを効果的にロードしたことを指定することによって。recipe[python::default]

python_pipおよびプロバイダー (名前が示すように、機能を提供することを示しています) を使用python_virtualenvするには、クックブックの 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

このクックブックを run list に追加しますrecipe[mycookbook]

    chef.run_list = ["recipe[python]", "recipe[mycookbook]"]

CookbooksGetting started with Chefなどのリソースを確認することを忘れないでください

于 2013-05-30T14:27:43.817 に答える