- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在没有互联网连接的 Centos 7 机器上安装 ruamel.yaml python 库。我试过这个:
使用本地存储库安装了 libyaml-devel、python-devel、python-pip
从 pypi 下载了 ruamel.yaml-0.13.14.tar 和 ruamel.ordereddict-0.4.6.tar(依赖项)。
现在我可以使用 pip install 安装 ruamel.ordereddict 。,但是当我尝试以相同的方式安装 ruamel.yaml 时,出现以下异常:
[root@limulus ruamel.yaml-0.13.14]# pip install .
Processing /tmp/python/ruamel.yaml-0.13.14
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 2, in <module>
from setuptools.extension import Extension, Library
File "/usr/lib/python2.7/site-packages/setuptools/extension.py", line 5, in <module>
from setuptools.dist import _get_unpatched
File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 7, in <module>
from setuptools.command.install import install
File "/usr/lib/python2.7/site-packages/setuptools/command/__init__.py", line 8, in <module>
from setuptools.command import install_scripts
File "/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.py", line 3, in <module>
from pkg_resources import Distribution, PathMetadata, ensure_directory
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 74, in <module>
import parser
File "parser.py", line 77, in <module>
from ruamel.yaml.error import MarkedYAMLError # type: ignore
File "/usr/lib64/python2.7/site-packages/ruamel/__init__.py", line 5, in <module>
__import__('pkg_resources').declare_namespace(__name__)
AttributeError: 'module' object has no attribute 'declare_namespace'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-oOWX1x-build/
离线模式下安装Python库的正确方法是什么?
最佳答案
看起来您一直在扩展 tar 文件,这是没有必要的,但我不确定这是否是您收到此错误的原因,您可能还缺少 typing
依赖项.
你不应该做的是使用系统安装的pip
,它几乎已经过时,并且在某些系统上实际上会由于旧版本中未修复的错误而导致问题。
您也不应该做的是在 Python virtualenv 之外使用 pip
安装软件包,因为这可能会在更新/覆盖系统中的内容时破坏您的系统 site-packages/dist -packages
目录。下面提供的解决方案仅在系统目录中安装 pip/wheels/virtualenv ,据我所知是安全的,但如果有必要,也有办法解决这个问题。
您还应该考虑使用提供的轮子来安装软件包。这样C扩展就不需要编译了。
在在线机器上执行以下操作:
mkdir /tmp/offline
cd /tmp/offline
# your python-pip installed pip might not support wheels
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
wget https://pypi.python.org/packages/a7/37/947b4329c4a3c72093b6c8e9b4be8c7f10c32dbb78848d3a234ce01c059d/wheel-0.30.0a0.tar.gz
wget https://pypi.python.org/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl
现在下载所需的轮子(.tar.gz,如果不可用):
wget https://pypi.python.org/packages/96/4b/5251bf469f37e49e0c92f841b5b3ef01a1c9d652cc018df470e5ae235eb8/ruamel.ordereddict-0.4.9-cp27-cp27mu-manylinux1_x86_64.whl
wget https://pypi.python.org/packages/63/40/c38b857ec6a083e534ee9a9f655741120d4bfd9139232681f976cf44272b/ruamel.yaml-0.13.14-cp27-cp27mu-manylinux1_x86_64.whl
wget https://pypi.python.org/packages/b6/0c/53c42edca789378b8c05a5496e689f44e5dd82bc6861d1ae5a926ee51b84/typing-3.5.3.0.tar.gz
将这六个文件复制到离线系统的新目录中,然后就可以了
sudo pip install pip*.tar.gz wheel*.tar.gz
sudo pip install virtualenv*
virtualenv ~/ruamel
source ~/ruamel/bin/activate
pip install typing* ruamel*
这将为您提供一个安装了 ruamel.yaml
的 virtualenv,只需在其中添加您的应用程序即可。
此处使用的下载内容截至 2017 年 1 月 7 日,如有必要,您可以使用浏览器(在在线系统上)获取更多最新内容。
关于python - 如何离线安装ruamel.yaml python库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42644227/
我似乎无法弄清楚如何使用 Ruamel.yaml 在数据之间添加一个空行。 假设我有数据: --- a: 1 b: 2 我需要添加到这一点,以便我将有: --- a: 1 b: 2 c: 3 我知道空
我正在使用 Ruamel Python 库以编程方式编辑人工编辑的 YAML 文件。 我很难理解如何将评论插入结构化数据。 我有一些数据: a: b: banana c: apple d:
我正在使用 Ruamel Python 库以编程方式编辑人工编辑的 YAML 文件。源文件具有按字母顺序排序的键。 我不确定这是一个基本的 Python 问题还是一个 Ruamel 问题,但是我尝试对
如果我有多个引用,当我使用 Python 中的 ruaml.yaml 将它们写入 YAML 文件时,我得到: helptexts: - &help-one help_text: |
我有一个使用 ruamel.yaml 和 ruamel.yaml.jinja2 一段时间的 docker 容器。最近它开始失败了。以下 dockerfile 重现了该问题: FROM ubuntu R
这里是python版本: Python 3.6.5 我想安装 ruamel: pip3 install ruamel 但我无法安装它: (venvpython3) d3alg@ubuntu-59:/$
我跑了一个 pip install ruamel.yaml 当我尝试做的时候 import ruamel.yaml 我得到一个错误: ImportError: No module named ruam
ruamel.yaml 文档很少,我在这里没有找到我需要的响应。 my_file.yaml 的内容: desc: "blahblahblah" 问题1:如何(以编程方式)将“size”添加为与“des
我需要对带有注释的 YAML 文件进行排序。我正在使用 ruamel.yaml 库来保留 YAML 中的注释,但是当我对项目进行排序时,注释被放置在错误的位置。 people = """\ # man
我希望使用 ruamel.yaml 对大型人工编辑的 YAML 文件执行一些自动编辑。 输入文件包含合并键,如下所示: foo: &foo color: red bar: name: qux
我想在我的项目中使用 Ruamel YAML,我使用代理,所以我下载了 来自https://pypi.python.org/pypi/ruamel.yaml的gzip包并安装它 pip install
我正在尝试使用 ruamel.yaml 使用 python 动态修改 AWS CloudFormation 模板。我添加了以下代码以使 safe_load 与 CloudFormation 函数(例如
在哪里可以找到 Python 包的完整文档 ruamel.yaml哪个加载和转储 YAML 文件? Python Package Index 仅给出了如何使用注释的示例。我正在尝试了解如何整体使用该包
我有两个问题! 有没有办法防止 round_trip_dump 甚至只是常规转储在句子中间断行?每当我的 YAML 文件中有一个长句子(即描述),并且我使用脚本来更改一些内容时,它就会断行并破坏我的文
我想转储一个包含嵌套列表组件的字典,其中列表的每一行都在自己的行上。我还想保持字典顺序。 这是一个 MWE: import sys from ruamel import yaml from ruame
MWE: import sys from ruamel.yaml import YAML yaml = YAML(typ='safe') yaml.default_flow_style = False
使用 Python 3.4.7,ruamel.yaml 版本 0.15.35,以下内容对我不起作用: import sys import enum import ruamel.yaml from ru
我正在使用 Ruamel 来保留人工编辑的 YAML 文件中的引用样式。 我有示例输入数据: --- a: '1' b: "2" c: 3 我使用以下方式读入数据: def read_file(f):
我正在使用 ruamel.yaml 来解析复杂的 YAML 文档,其中某些标记的节点需要特殊处理。按照已发布示例的建议,我使用 add_multi_constructor 注入(inject)自定义解
给出以下代码: from ruamel.yaml import YAML yaml = YAML() with open(filename) as f: z = yaml.load(f) ya
我是一名优秀的程序员,十分优秀!