环境:CentOS 6.5,Python 2.7(Anaconda),厨师(10.26)
我的要求是安装Python" wheel"使用pip
打包为ec2-user。我在我的食谱中尝试了下面的片段:
python_pip "wheel" do
user "ec2-user"
group "ec2-user"
action :install
end
上述说法失败了
用于构建的临时文件夹(/ tmp / pip-build-root)不属于您的用户!
请注意,我以root用户身份运行chef-client,因为我的用例要求。不确定是否可以这样做。
我还尝试了以下代码片段作为解决方法,但没有成功:
execute "installing wheel" do
command <<-EOH
su - ec2-user
pip install wheel
EOH
end
通过它,它以root用户身份安装在默认的python中。
任何人都可以帮我解决这个问题吗?我需要使用Chef安装轮子作为ec2-user。
答案 0 :(得分:0)
您需要以具有Python安装的写访问权限的用户身份安装Python包。对于系统范围的安装(这是因为你没有指定venv),这几乎肯定是root。为什么您认为要以非root用户身份安装?
除此之外,仅需要wheel
包来构建轮式存档而不安装它们。如果可以从PyPI或通过指定的车轮文件夹获得轮子,则将自动使用轮子。
基本上你不需要做任何一部分。