如何解决pip 安装的盐收据
我在盐收据中有一个状态,无法使用 pip 安装某些源。但是从 shell 使用 pip 我认为是等效的。所以它并不是真正的等价物,我错过了一些我看不到的东西。
我想一开始就提到,minion 没有完全的互联网访问权限,也不应该有。
{% set PLUGINSSRC='/usr/local/src' %}
git_sardana-xaira:
git.latest:
- name: https://...
- target: {{ PLUGINSSRC }}/sardana_xaira
- rev: 0.0.1
pip_git_sardana-xaira:
pip.installed:
- onchanges:
- git: git_sardana-xaira
- target: {{ PLUGINSSRC }}/sardana_xaira
- bin_env: '/usr/bin/pip3'
- no_deps: True
- require:
- pkg: python3-pip
这个减少的回报是:
ID: pip_git_sardana-xaira
Function: pip.installed
Result: False
Comment: Failed to install packages: pip_git_sardana-xaira. Error: Collecting pip_git_sardana-xaira Exception:
(...)
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception,another exception occurred:
(...)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f3b474fe400>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception,another exception occurred:
(...)
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
但是,如果我在 minion 中使用 shell 而不是使用盐:
$ export PLUGINSSRC=/usr/local/src
$ sudo /usr/bin/pip3 install $PLUGINSSRC/sardana_xaira --no-deps
$ /usr/bin/pip3 list | grep xaira
sardana-xaira (0.0.1)
salt 状态中会缺少一些东西,这会产生与 shell 中不同的执行。我也喜欢在使用 salt 时找出哪个连接失败。
解决方法
根据 pip state 的文档,名称和目标之间存在差异。
姓名
要安装的python包的名称。您还可以在此处使用标准运算符 ==、>=、
目标
安装包到目标目录
这里张贴的原始收据误解了这两个参数。
与 pip 的 shell 等效项对应的收据是:
pip_git_sardana-xaira:
pip.installed:
- onchanges:
- git: git_sardana-xaira
- name: {{ PLUGINSSRC }}/sardana_xaira
- bin_env: '/usr/bin/pip3'
- no_deps: True
- require:
- pkg: python3-pip
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。