2012-03-29 3 views
4

Ich habe eine einfache .pp/puppet-Datei und bekomme "Parameter provider failed: Ungültiger Paketanbieter 'pip' bei sis.pp: 24"Puppet kann pip nicht finden: Parameteranbieter ist fehlgeschlagen: Ungültiger Paketanbieter 'pip' bei <path_to_pip_file>

Hier ist die Linie 24:

20 package {"numpy": 
21     ensure => installed, 
22     provider => pip, 
23     require => Package["python-setuptools", "python-pip", "python-dev", "build-essential"] 
24   } 

ich auf Syntaxfehler geprüft, es gibt keine.

Meine Vermutung ist, dass Puppe nicht Pip finden kann, ich deinstalliert und Pip erneut installiert. Mit apt-get, hier ist, was ich, wenn ich „whereis pip“ Typ

pip: /usr/local/bin/pip /usr/share/man/man1/pip.1.gz 

ich um gesucht und gefunden, dass Marionette ein Pip-Modul hat, es installiert zu.

Aber immer noch ahnungslos, was das Problem ist.

Wenn ich Typ "puppet gelten sis.pp --debug --verbose"

ich dieses:

debug: Puppet::Type::Package::ProviderSunfreeware: file pkg-get does not exist 
debug: Puppet::Type::Package::ProviderFink: file /sw/bin/fink does not exist 
debug: Puppet::Type::Package::ProviderYum: file yum does not exist 
debug: Puppet::Type::Package::ProviderRug: file /usr/bin/rug does not exist 
debug: Puppet::Type::Package::ProviderAix: file /usr/bin/lslpp does not exist 
debug: Puppet::Type::Package::ProviderPorts: file /usr/sbin/pkg_info does not exist 
debug: Puppet::Type::Package::ProviderNim: file /usr/sbin/nimclient does not exist 
debug: Puppet::Type::Package::ProviderRpm: file rpm does not exist 
debug: Puppet::Type::Package::ProviderSun: file /usr/sbin/pkgrm does not exist 
debug: Puppet::Type::Package::ProviderPortupgrade: file /usr/sbin/pkg_info does not exist 
debug: Puppet::Type::Package::ProviderHpux: file /usr/sbin/swremove does not exist 
debug: Puppet::Type::Package::ProviderZypper: file /usr/bin/zypper does not exist 
debug: Puppet::Type::Package::ProviderFreebsd: file /usr/sbin/pkg_delete does not exist 
debug: Puppet::Type::Package::ProviderUp2date: file /usr/sbin/up2date-nox does not exist 
debug: Puppet::Type::Package::ProviderPkg: file /usr/bin/pkg does not exist 
debug: Puppet::Type::Package::ProviderPortage: file /usr/bin/eix does not exist 
debug: Puppet::Type::Package::ProviderAptrpm: file rpm does not exist 
debug: Puppet::Type::Package::ProviderOpenbsd: file pkg_delete does not exist 
debug: Puppet::Type::Package::ProviderUrpmi: file urpmq does not exist 
Parameter provider failed: Invalid package provider 'pip' at /path/sis.pp:54 

der Puppen Interpreter Beobachten zeigt auf mehrere Orte in der Datei sis.pp wo es provider => "pip" nicht verarbeiten konnte

brauche Hilfe. Ich werde jetzt versuchen, die Terminalausgabe-Codezeilen in der Puppenquelle zu finden, um zu sehen, was das Problem ist. Wenn jemand die Lösung bereits kennt, würde Hilfe geschätzt werden.

Ich bin auf Ubuntu.

Antwort

1

Es scheint, dass Ihre Installation den Pip-Provider nicht finden kann, anstatt die ausführbare Pip-Datei zu finden.

ich den Provider bin zu raten, die Sie erwähnt ist diese:

https://github.com/rcrowley/puppet-pip

Paar Dinge, die nicht klar sein könnte:

  1. Das Plugin auf den Puppen Kunden verfügbar sein muss
  2. Nur die Installation der Gem wird es nicht für Sie tun, daher die manuelle env Einstellung in der Readme

Wahrscheinlich ist der einfachste Ansatz, um die Puppe-Pip-Provider in Ihrer Puppe Repo als separates Modul zu schließen, und dann pluginsync ermöglichen, das heißt

[main] 
pluginsync = true 

Weitere Details hier http://docs.puppetlabs.com/guides/plugins_in_modules.html

1

Es sieht so aus, als wäre pip provider in puppet pre 2.7 nicht verfügbar, ohne einen externen Provider herunterzuladen. Benutzt du 2,7 oder höher?