木偶罐头';找不到pip:参数提供程序失败:包提供程序无效';pip';at<;指向\u pip\u文件的路径>;

木偶罐头';找不到pip:参数提供程序失败:包提供程序无效';pip';at<;指向\u pip\u文件的路径>;,pip,puppet,Pip,Puppet,我有一个简单的.pp/puppet文件,我得到“参数提供程序失败:sis.pp:24处的包提供程序'pip'无效” 这是第24行: 20 package {"numpy": 21 ensure => installed, 22 provider => pip, 23 require => Package["python-setuptools", "python-pip", "

我有一个简单的.pp/puppet文件,我得到“参数提供程序失败:sis.pp:24处的包提供程序'pip'无效”

这是第24行:

 20 package {"numpy":
 21                 ensure => installed,
 22                 provider => pip,
 23                 require => Package["python-setuptools", "python-pip", "python-dev", "build-essential"]
 24         }
我检查了语法错误,没有

我猜puppet找不到pip,我卸载并再次安装了pip。有了apt get, 这是我键入“pip在哪里”时得到的结果

我四处搜索,发现puppet有一个pip模块,也安装了它

但对于问题是什么仍然一无所知

当我键入“puppet apply sis.pp--debug--verbose”时

我明白了:

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
注意,puppet解释器指向sis.pp文件中的多个位置,无法处理provider=>“pip”

我需要帮助。我现在将尝试在puppet source中查找终端输出代码行,看看问题出在哪里。如果有人已经知道解决方案,我们将不胜感激


我在ubuntu上。

如果不下载外部提供程序,pip提供程序在puppet pre 2.7中似乎不可用。您使用的是2.7或更高版本吗?

您的安装似乎找不到pip提供程序,而不是找不到pip可执行文件

我猜你提到的供应商是:

有两件事可能不太清楚:

  • 插件需要在puppet客户端上可用
  • 仅仅安装Gem对您来说是不合适的,因此自述文件中的手动环境设置
  • 可能最简单的方法是将puppet-pip提供者作为一个单独的模块包含在puppet-repo中,然后启用pluginsync,即

    [main]
    pluginsync = true
    
    这里有更多细节

    [main]
    pluginsync = true