gpt4 book ai didi

python - 如何在 Opsworks/Chef 11 中使用 python LWRP

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:01 24 4
gpt4 key购买 nike

我是 Chef/OpsWorks 的新手,正在尝试一个简单的方法在 Ubuntu 12.04 实例上安装 Django 1.6:

python_pip "Django" do
version "1.6"
action :install
end

我的 providers/pip.rb 和 providers/virtualenv.rb 似乎覆盖了表面上已经加载的内容:

DEBUG: Loading cookbook python's providers from /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/pip.rb

DEBUG: Loaded contents of /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/pip.rb into a provider named python_pip defined in Chef::Provider::PythonPip

DEBUG: Loading cookbook python's providers from /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/virtualenv.rb

DEBUG: Loaded contents of /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/virtualenv.rb into a provider named python_virtualenv defined in Chef::Provider::PythonVirtualenv

DEBUG: Loading cookbook python's providers from /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/pip.rb

INFO: PythonPip light-weight provider already initialized -- overriding!

DEBUG: Loaded contents of /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/pip.rb into a provider named python_pip defined in Chef::Provider::PythonPip

DEBUG: Loading cookbook python's providers from /opt/aws/opsworks/releases/20131107153140_213/site-cookbooks/python/providers/virtualenv.rb

INFO: PythonVirtualenv light-weight provider already initialized -- overriding!

但是当我尝试使用 python_pip 时,我收到一个错误:

ERROR: Caught exception while compiling OpsWorks custom run list: NameError - Cannot find a resource for python_pip on ubuntu version 12.04 

我尝试在我的 metadata.rb 中添加 depends "python",但这没有帮助。任何建议表示赞赏。

我的 Recipe “python”的目录结构:

.
├── python
│   ├── attributes
│   │   └── default.rb
│   ├── metadata.rb
│   ├── providers
│   │   ├── pip.rb
│   │   └── virtualenv.rb
│   ├── recipes
│   │   ├── default.rb
│   │   ├── django.rb
│   │   ├── package.rb
│   │   ├── pip.rb
│   │   ├── source.rb
│   │   └── virtualenv.rb
│   ├── specs
│   │   └── configure_spec.rb
│   └── templates
│   └── default
└── README.md

最佳答案

在您可以使用 python_pip LWRP 之前,您需要在您的运行列表中包含 python 或在您自己的配方中包含 include_recipe "python"

这是一个示例,假设您有一个名为 dj 的用户,并且已经设置了主目录。

# Note that the recipe will install Python, setuptools and pip
include_recipe "python"


# Create a virtual environment
python_virtualenv '/home/dj/virtenv' do
interpreter "python2.7"
owner 'dj'
group 'dj'
action :create
end

# Install Django to a virtualenv
python_pip "django" do
virtualenv '/home/dj/virtenv'
user 'dj'
group 'dj'
action :install
end

关于python - 如何在 Opsworks/Chef 11 中使用 python LWRP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com