记误删Linux的python与yum

根据各路大神的方法整理一下自己解决的步骤
注意:不要手贱删python2!想用python3就安装并用python3命令

重新安装python2

  1. 查看系统版本:
cat /etc/redhat-release
  1. 进入默认的安装地址:注意查看一下rpm文件是不是删干净了(有的看上去还在,但是注意文件大小(2.2KB)其实是无效文件)
cd /usr/local/src/python
  1. 我是7.9.2009,因此找到相应的packages并下载:(下载地址)
    记误删Linux的python与yum_第1张图片
    其实不同版本的名字都很类似,注意一点不要漏下了
  2. 把文件上传至/usr/local/src/python中,并开始更新:
rpm -Uvh --replacepkgs python*.rpm --nodeps --force
rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
rpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force

注意“ --nodeps --force”必须加,要不会报依赖包的错误

  1. 完成更新,可以用python --V检查一下

安装python3

  1. 依赖包安装:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  1. 网站下载tgz的python3安装包并上传到任意位置进行解压:
tar -zxvf Python-3.9.9.tgz
  1. 在/usr/local/ 输入指令:mkdir python3
  2. 到解压路径进行安装
cd Python-3.9.9
./configure --prefix=/usr/local/python3
make && make install
  1. 建立软链接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3

注意:可能会报错“ln: failed to create symbolic link ‘/usr/bin/python3’: File exists”,把“-s”改成“-sf”即可
6. 完成安装并验证

python3
pip3
  1. 安装第三方包:
    首先在本地机(注意要是Linux,且python版本差距不大,否则还是乖乖一个个去官网下载吧)将离线包全部下下来:
# 进入要保存的路径
cd D:
# 获取离线包的列表
pip freeze > requirement.txt
# 下载安装包至D:/packages3.9
pip download -d D:/packages3.9 -r D:/requirements.txt

将包全部放至服务器中某位置并开始安装:

pip3 install --no-index --find-links=./packages3.9/ -r ./requirements.txt
  1. 报错处理方法
ERROR: numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is not a supported wheel on this platform. linux

下载的版本不对,可以通过以下命令查看合适的版本:

pip3 debug --verbose

这里只展示一部分结果

pip version: pip 21.2.4 from /usr/local/python3/lib/python3.9/site-packages/pip (python 3.9)
sys.version: 3.9.9 (main, Nov  6 2023, 16:12:37) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
sys.executable: /usr/local/python3/bin/python3.9
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
  name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /usr/local/python3/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
  appdirs==1.4.4
  CacheControl==0.12.6
  colorama==0.4.4
  distlib==0.3.2
  distro==1.5.0 (Unable to locate actual module version, using vendor.txt specified version)
  html5lib==1.1
  msgpack==1.0.2 (Unable to locate actual module version, using vendor.txt specified version)
  packaging==21.0
  pep517==0.11.0
  progress==1.5
  pyparsing==2.4.7
  requests==2.26.0
  certifi==2021.05.30
  chardet==4.0.0
  idna==3.2
  urllib3==1.26.6
  resolvelib==0.7.1
  setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
  six==1.16.0
  tenacity==8.0.1 (Unable to locate actual module version, using vendor.txt specified version)
  tomli==1.0.3
  webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 369
  cp39-cp39-manylinux_2_17_x86_64
  cp39-cp39-manylinux2014_x86_64
  cp39-cp39-manylinux_2_16_x86_64
  cp39-cp39-manylinux_2_15_x86_64
  cp39-cp39-manylinux_2_14_x86_64
  cp39-cp39-manylinux_2_13_x86_64
...
  1. 选择离线安装包需要注意的点
  • 尽量选择whl文件:
    whl包:已编译;
    tar包:源文件,已打包,没有编译;
    tar.gz包:源文件,压缩并打包,没有编译。
  • 版本参考上述命令(一般都是用cp,39代表3.9版本的python;manylinux代表支持多数Linux)
  • 注意查看该安装包版本支持的python版本是多少

你可能感兴趣的:(工作摘要,linux,python,运维)