python

Configure python via Boxen
Les Aker

Les Aker

halyard

10,850 downloads

6,716 latest version

4.6 quality score

Version information

  • 3.0.12 (latest)
  • 3.0.11
  • 3.0.10
  • 3.0.9
  • 3.0.8
  • 3.0.7
  • 3.0.6
  • 3.0.5
  • 3.0.4
  • 3.0.3
  • 3.0.2
  • 3.0.1
  • 2.8.6
  • 0.1.0
released Jul 3rd 2019
This version is compatible with:
  • Darwin

Start using this module

Documentation

halyard/python — version 3.0.12 Jul 3rd 2019

python

Puppet Forge Dependency Status MIT Licensed Build Status

Install Python versions using pyenv. Module based off of puppet-ruby and puppet-nodejs.

This is a fork from Matthew Loberg's puppet-python, tweaked for my environment and Puppet 4 compat.

Changes from upstream

  • Adjusted to use CircleCI
  • Adjusted to support Puppet 4 module data bindings
  • Added support for multiple global python versions
  • Added support to python::package for an array of versions
  • Allow skipping pyenv init on shell creation using SKIP_PYENV_INIT environment variable

Usage

# Install Python versions
python::version { '2.7.10': }
python::version { '3.5.0': }

# Set the global version of Python
class { 'python::global':
  version => '2.7.7'
}

# ensure a certain python version is used in a dir
python::local { '/path/to/some/project':
  version => '3.4.1'
}

# Install the latest version of virtualenv
$version = '3.4.1'
python::package { "virtualenv for ${version}":
  package => 'virtualenv',
  python  => $version,
}
# Install Django 1.6.x
python::package { "django for 2.7.7":
  package => 'django',
  python  => '2.7.7',
  version => '>=1.6,<1.7',
}

# Installing a pyenv plugin
python::plugin { 'pyenv-virtualenvwrapper':
  ensure => 'v20140122',
  source => 'yyuu/pyenv-virtualenvwrapper',
}

# Running a package script
# pyenv-installed gems cannot be run in the boxen installation environment which uses the system
# python. The environment must be cleared (env -i) so an installed python (and packages) can be used in a new shell.
exec { "env -i bash -c 'source /opt/boxen/env.sh && PYENV_VERSION=${version} virtualenv venv'":
  provider => 'shell',
  cwd => "~/src/project",
  require => Python::Package["virtualenv for ${version}"],
}

Required Puppet Modules

  • boxen >= 3.2.0
  • repository >= 2.1
  • gcc
  • stdlib
  • java (jython)

License

puppet-python is released under the MIT License. See the bundled LICENSE file for details.