使用pip3在Centos7上安装ansible

Cia*_*ian 2 pip ansible centos7

我已经安装了ansible版本2.9.25(centos的最新版),但它\xe2\x80\x99s无法使用\xe2\x80\x98get_url\xe2\x80\x99模块下载文件,而我谷歌搜索的所有内容似乎都指向使用python2与 python3 相反。所以我尝试通过 pip3 安装 ansible,文档声称将使用 python3 安装 ansible 但给出 Unicode 错误:

\n
# pip3 install ansible\nCollecting ansible\n  Using cached ansible-4.6.0.tar.gz (35.6 MB)\nCollecting ansible-core<2.12,>=2.11.5\n  Using cached ansible-core-2.11.5.tar.gz (6.8 MB)\nERROR: Exception:\nTraceback (most recent call last):\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 173, in _main\n    status = self.run(options, args)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 203, in wrapper\n    return func(self, options, args)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 316, in run\n    reqs, check_supported_wheels=not options.target_dir\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve\n    collected.requirements, max_rounds=try_to_avoid_resolution_too_deep\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 472, in resolve\n    state = resolution.resolve(requirements, max_rounds=max_rounds)\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 366, in resolve\n    failure_causes = self._attempt_to_pin_criterion(name)\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 212, in _attempt_to_pin_criterion\n    criteria = self._get_updated_criteria(candidate)\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 203, in _get_updated_criteria\n    self._add_to_criteria(criteria, requirement, parent=candidate)\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria\n    if not criterion.candidates:\n  File "/usr/local/lib/python3.6/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__\n    return bool(self._sequence)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 140, in __bool__\n    return any(self)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 128, in <genexpr>\n    return (c for c in iterator if id(c) not in self._incompatible_ids)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 32, in _iter_built\n    candidate = func()\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 209, in _make_candidate_from_link\n    version=version,\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in __init__\n    version=version,\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__\n    self.dist = self._prepare()\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 227, in _prepare\n    dist = self._prepare_distribution()\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in _prepare_distribution\n    self._ireq, parallel_builds=True\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 508, in prepare_linked_requirement\n    return self._prepare_linked_requirement(req, parallel_builds)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 552, in _prepare_linked_requirement\n    self.download_dir, hashes\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 249, in unpack_url\n    unpack_file(file.path, location, file.content_type)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/utils/unpacking.py", line 256, in unpack_file\n    untar_file(filename, location)\n  File "/usr/local/lib/python3.6/site-packages/pip/_internal/utils/unpacking.py", line 226, in untar_file\n    with open(path, "wb") as destfp:\nUnicodeEncodeError: \'ascii\' codec can\'t encode character \'\\xe9\' in position 117: ordinal not in range(128)\n\n
Run Code Online (Sandbox Code Playgroud)\n

我运行的命令尝试修复:

\n
pip3 install setuptools_rust\npip3 install --upgrade pip\npip3 install ansible \nsudo yum install gcc libffi-devel python3-dev python-devel openssl-devel\nsudo yum install -y git python-devel python-pip gcc gcc-c++\n\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试过的其他解决方案:\n https://github.com/paramiko/paramiko/issues/1027#issuecomment-371754576

\n

当前设置:

\n
# pip --version\npip 21.2.4 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)\n# pip3 --version\npip 21.2.4 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)\n# python --version\nPython 2.7.5\n# python3 --version\nPython 3.6.8\n
Run Code Online (Sandbox Code Playgroud)\n

如果我可以提供任何其他信息,请告诉我!

\n

phd*_*phd 5

我也有过类似的错误。控制台/终端必须使用 UTF-8 语言环境,而不是 ASCII。将环境变量LC_CTYPEor设置LC_ALLC.UTF-8or en_US.UTF-8

LC_CTYPE=en_US.UTF-8
export LC_CTYPE
Run Code Online (Sandbox Code Playgroud)

安装后ansible可用于任何语言环境。仅安装需要 UTF-8。