python: Add support for installing packages with pip
This commit is contained in:
parent
4a30785106
commit
bed8b2e777
1 changed files with 64 additions and 0 deletions
|
@ -129,3 +129,67 @@ define python::compile() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Install pip.
|
||||||
|
#
|
||||||
|
class python::pip {
|
||||||
|
|
||||||
|
case $::operatingsystem {
|
||||||
|
'openbsd': {
|
||||||
|
$package = 'py-pip'
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
$package = 'python-pip'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package { $package:
|
||||||
|
ensure => installed,
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Install python package using pip.
|
||||||
|
#
|
||||||
|
# === Parameters
|
||||||
|
#
|
||||||
|
# $name:
|
||||||
|
# Package name.
|
||||||
|
#
|
||||||
|
# $source:
|
||||||
|
# Optional source path to package archive.
|
||||||
|
#
|
||||||
|
define python::pip::install($source=undef) {
|
||||||
|
|
||||||
|
require python::pip
|
||||||
|
|
||||||
|
if $source {
|
||||||
|
$filename = basename($name)
|
||||||
|
|
||||||
|
file { "/usr/local/src/${filename}":
|
||||||
|
ensure => present,
|
||||||
|
mode => '0644',
|
||||||
|
owner => 'root',
|
||||||
|
group => $::operatingsystem ? {
|
||||||
|
'openbsd' => 'wheel',
|
||||||
|
default => 'root',
|
||||||
|
},
|
||||||
|
source => $source,
|
||||||
|
}
|
||||||
|
|
||||||
|
exec { "pip-install-${filename}":
|
||||||
|
refreshonly => true,
|
||||||
|
path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin',
|
||||||
|
command => "pip install --no-deps --no-index --upgrade /usr/local/src/${filename}",
|
||||||
|
subscribe => File["/usr/local/src/${filename}"],
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
package { $name:
|
||||||
|
ensure => installed,
|
||||||
|
provider => 'pip',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue