gpt4 book ai didi

Python Pip 被 sys.stderr.write(f"ERROR : {exc}")) 损坏

转载 作者:行者123 更新时间:2023-12-03 10:06:28 26 4
gpt4 key购买 nike

在使用 box bento/centos-7 的新 Vagrant VM 上,以下命令破坏了我的 pip 安装:

yum update
yum install epel-release -y
yum install python-pip -y
/usr/bin/pip2 install --upgrade pip setuptools pyOpenSSL psycopg2-binary lxml
这最终失败了
  Downloading https://files.pythonhosted.org/packages/84/48/5c99d8770fd0a9eb0f82654c3294aad6d0ba9f8600638c2e2ad74f2c5d52/setuptools-52.0.0.tar.gz (2.1MB)
100% |████████████████████████████████| 2.1MB 821kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "setuptools/__init__.py", line 16, in <module>
import setuptools.version
File "setuptools/version.py", line 1, in <module>
import pkg_resources
File "pkg_resources/__init__.py", line 1367
raise SyntaxError(e) from e
^
SyntaxError: invalid syntax

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-GZrC3W/setuptools/
You are using pip version 8.1.2, however version 21.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
如果我然后升级 Pip,我会注意到我的 Python 坏了。之后所有 pip 命令都以 SyntaxError 结尾
[root@bkd-openam ~]# pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/9e/24/bc928987f35dd0167f21b13a1777c21b9c5917c9894cff93f1c1a6cb8f3b/pip-21.0.tar.gz
Installing collected packages: pip
Found existing installation: pip 8.1.2
Uninstalling pip-8.1.2:
Successfully uninstalled pip-8.1.2
Running setup.py install for pip ... done
Successfully installed pip-21.0
[root@bkd-openam ~]# /usr/bin/pip2 install --upgrade pip setuptools pyOpenSSL psycopg2-binary lxml
Traceback (most recent call last):
File "/usr/bin/pip2", line 9, in <module>
load_entry_point('pip==21.0', 'console_scripts', 'pip2')()
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/lib/python2.7/site-packages/pip/_internal/cli/main.py", line 60
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax
这是为什么?这是 Python 的已知问题吗?我该如何解决这个问题?
顺便说一句,CentOS 7 是给定的,此时我们无法升级到 CentOS 8。此外,我们正在使用 Ansible,因此我认为 Ansible 社区建议不要将 virtualenv 用于目标节 pip 。
我们当然可以在目标节 pip 上安装 Python 3,但并非所有 Ansible 代码都可用于 Python 3 与 CentOS 7 的组合。
我们可以使用 Pip 20 吗?我们想升级到仍然有效的 Pip 的最新版本,我认为那是 Pip 20。如何阻止升级到 Pip 21?

最佳答案

您可以获得 get-pip.py 的旧版本 (2.7)

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
在我看来,你应该创建一个 python2 virtualenv 并在其中安装你的 python2 包,以及 pip2。比如我安装布谷鸟沙箱的时候,我是这样操作的:
virtualenv --python=python2 cuckoo/   # make your virtualenv folder with python2
cd cuckoo
source bin/activate
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py # get pip for python2
python2 get-pip.py # install pip in your virtualenv
pip install cuckoo # install your python2 package
希望它会有所帮助。

关于Python Pip 被 sys.stderr.write(f"ERROR : {exc}")) 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65896334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com