New Supermarket Announcements!

The Chef Community Cookbooks Survey

We would love to know more about what you think about community cookbooks and are runnning a quick survey. This will help us understand the role they play in your use of Chef. As a community member, you are invited to participate. You have a unique understanding of the role community cookbooks have in your work, and we value your opinion. Most people take about 5 minutes to complete this survey. There are no right or wrong answers; we are interested in your opinions.
Chef Community Cookbooks Survey

Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the supermarket mailing list or in Gitter.

Select Supported Platforms

RSS

python (19) Versions 1.4.6

Installs Python, pip and virtualenv. Includes LWRPs for managing Python packages with `pip` and `virtualenv` isolated Python environments.

Berkshelf
Librarian
Knife
cookbook 'python', '~> 1.4.6'
cookbook 'python', '~> 1.4.6'
knife cookbook site install python
knife cookbook site download python
README
Dependencies

python Cookbook

Build Status

Installs and configures Python. Also includes LWRPs for managing python packages with pip and virtualenv isolated Python environments.

Requirements

Platforms

  • Debian, Ubuntu
  • CentOS, Red Hat, Fedora

Cookbooks

  • build-essential
  • yum

NOTE: The yum cookbook is a dependency of the cookbook, and will be used to install EPEL on RedHet/CentOS 5.x systems to provide the Python 2.6 packages.

Attributes

See attributes/default.rb for default values.

  • node["python"]["install_method"] - method to install python with, default package.

The file also contains the following attributes:

  • platform specific locations and settings
  • source installation settings

Resource/Provider

This cookbook includes LWRPs for managing:

  • pip packages
  • virtualenv isolated Python environments

python_pip

Install packages using the new hotness in Python package management...pip. Yo dawg...easy_install is so 2009, you better ask your local Pythonista if you don't know! The usage semantics are like that of any normal package provider.

Actions

  • :install: Install a pip package - if version is provided, install that specific version (default)
  • :upgrade: Upgrade a pip package - if version is provided, upgrade to that specific version
  • :remove: Remove a pip package
  • :user: User to run pip as, for using with virtualenv
  • :group: Group to run pip as, for using with virtualenv
  • :purge: Purge a pip package (this usually entails removing configuration files as well as the package itself). With pip packages this behaves the same as :remove

Attribute Parameters

  • package_name: name attribute. The name of the pip package to install
  • version: the version of the package to install/upgrade. If no version is given latest is assumed.
  • virtualenv: virtualenv environment to install pip package into
  • options: Add additional options to the underlying pip package command
  • timeout: timeout in seconds for the command to execute. Useful for pip packages that may take a long time to install. Default 900 seconds.

Examples

# install latest gunicorn into system path
python_pip "gunicorn"

# target a virtualenv
python_pip "gunicorn" do
  virtualenv "/home/ubunut/my_ve"
end
# install Django 1.1.4
python_pip "django" do
  version "1.1.4"
end
# use this provider with the core package resource
package "django" do
  provider Chef::Provider::PythonPip
end

python_virtualenv

virtualenv is a great tool that creates isolated python environments. Think of it as RVM without all those hipsters and tight jeans.

Actions

  • :create: creates a new virtualenv
  • :delete: deletes an existing virtualenv

Attribute Parameters

  • path: name attribute. The path where the virtualenv will be created
  • interpreter: The Python interpreter to use. default is null (i.e. use whatever python the virtualenv command is using).
  • owner: The owner for the virtualenv
  • group: The group owner of the file (string or id)
  • options : Command line options (string)

Examples

# create a 2.6 virtualenv owned by ubuntu user
python_virtualenv "/home/ubuntu/my_cool_ve" do
  owner "ubuntu"
  group "ubuntu"
  action :create
end
# create a Python 2.4 virtualenv
python_virtualenv "/home/ubuntu/my_old_ve" do
  interpreter "python2.4"
  owner "ubuntu"
  group "ubuntu"
  action :create
end
# create a Python 2.6 virtualenv with access to the global packages owned by ubuntu user
python_virtualenv "/home/ubuntu/my_old_ve" do
  owner "ubuntu"
  group "ubuntu"
  options "--system-site-packages"
  action :create
end

Usage

default

Include default recipe in a run list, to get python, pip and virtualenv. Installs python by package or source depending on the platform.

package

Installs Python from packages.

source

Installs Python from source.

pip

Installs pip from source.

virtualenv

Installs virtualenv using the python_pip resource.

License & Authors

Copyright:: 2011, Opscode, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

yum-epel >= 0.0.0
build-essential >= 0.0.0

Contingent cookbooks

aminator Applicable Versions
ansible-tower Applicable Versions
application Applicable Versions
application_python Applicable Versions
artifact-deployer Applicable Versions
aws-ec2-assign-elastic-ip Applicable Versions
aws_see_spots_run Applicable Versions
awscli Applicable Versions
beaver Applicable Versions
boilerplate Applicable Versions
boilerplate_php Applicable Versions
carbon Applicable Versions
cassandra-opscenter Applicable Versions
celery-flower Applicable Versions
ceph_micro Applicable Versions
co-cloudmonkey Applicable Versions
cyclesafe_chef Applicable Versions
devpi Applicable Versions
diamond_lwrp Applicable Versions
disco Applicable Versions
django Applicable Versions
docker_registry Applicable Versions
duplicity_ng Applicable Versions
elkstack Applicable Versions
exabgp Applicable Versions
flower Applicable Versions
foreflight_build_agent Applicable Versions
frog Applicable Versions
ftp-cloudfs Applicable Versions
gitlab Applicable Versions
gitlab-server Applicable Versions
gitlabhq Applicable Versions
gitpaste Applicable Versions
graphite Applicable Versions
graphite-api Applicable Versions
graphite_lwrp Applicable Versions
grinder Applicable Versions
gunicorn Applicable Versions
htpasswd Applicable Versions
httpie Applicable Versions
infochimps_graphite Applicable Versions
ipynb Applicable Versions
jellyfish Applicable Versions
jones Applicable Versions
locustio Applicable Versions
logstash Applicable Versions
mandrel Applicable Versions
mediacore Applicable Versions
meetbot Applicable Versions
meetbot-cookbook Applicable Versions
mercurial Applicable Versions
minecraft Applicable Versions
mirage Applicable Versions
mongodb Applicable Versions
netdevops Applicable Versions
newrelic Applicable Versions
newrelic-ng Applicable Versions
newrelic_meetme_plugin Applicable Versions
oclint Applicable Versions
opencv Applicable Versions
openstack-clients Applicable Versions
openstack-mistral Applicable Versions
openvpnas Applicable Versions
opsworks_python Applicable Versions
plexconnect Applicable Versions
polyglot Applicable Versions
postgresql_lwrp Applicable Versions
pygster Applicable Versions
pypi-mirror Applicable Versions
pythonstack Applicable Versions
raxmon-cli Applicable Versions
robot Applicable Versions
scipy Applicable Versions
shinken Applicable Versions
skyline Applicable Versions
stack_commons Applicable Versions
stackstorm Applicable Versions
statsite Applicable Versions
subliminal Applicable Versions
supermarket Applicable Versions
supervisor Applicable Versions
tarsnap Applicable Versions
taskwarrior Applicable Versions
thrift Applicable Versions
thumbor Applicable Versions
thumbor_ng Applicable Versions
ut_workstation Applicable Versions
uwsgi Applicable Versions
virtualenvwrapper Applicable Versions
wal-e Applicable Versions
yara Applicable Versions
zeoserver Applicable Versions