作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
打包起来很简单httpie转换为 Python“PYZ”(zipapp),例如使用
$ pip install --upgrade zapp
$ zapp httpie.pyz httpie.__main__:main httpie
$ python ./httpie.pyz --version
1.0.3
现在我尝试包含 httpie-aws-authv4作为 httpie 的插件,用于 AWS 身份验证。唉,httpie
没有安装该插件。
$ zapp httpie-aws4.pyz httpie.__main__:main httpie httpie-aws-authv4
$ python ./httpie-aws4.pyz
usage: http [--json] [--form] [--pretty {all,colors,format,none}]
...
[--auth USER[:PASS]] [--auth-type {basic,digest}]
$ python ./httpie-aws4.pyz -A aws4 http://localhost:9200/
...
http: error: argument --auth-type/-A: invalid choice: u'aws4' (choose from 'basic', 'digest')
应该显示[--auth-type {basic,digest,aws4}]
有人知道如何实现这一点吗?
最佳答案
郑重声明,我通过使用内置的身份验证机制列表注册扩展来解决插件加载问题。尽管通过不同的机制,这使得插件可用且可操作。对于 zipapp 使用来说这是完全可以的:
zapp httpie-aws4.pyz httpie.__main__:main httpie httpie-aws-authv4
mkdir -p httpie/plugins
unzip -q -c httpie-aws4.pyz httpie/plugins/__init__.py | gsed \
-e '15i from httpie_aws_authv4 import AWSv4AuthPlugin # ADDED' \
-e '19i AWSv4AuthPlugin, # ADDED' \
> httpie/plugins/__init__.py
zip httpie-aws4.pyz httpie/plugins/__init__.py
然后根据需要出现 aws4
身份验证机制:
python ./httpie-aws4.pyz 2>&1 | grep auth-type
[--auth USER[:PASS]] [--auth-type {aws4,basic,digest}]
关于python - 如何将 httpie 与 httpie-aws-authv4 捆绑到 Python zipapp 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58806102/
我是一名优秀的程序员,十分优秀!