type
status
date
slug
summary
tags
category
icon
password
python版本切换
linux
环境之前太乱了,记录一下修改过程。没有安装过程。
- 使用which命令找到python执行文件
which python
which python2
which python3
- 进入上一步查找的/usr/bin
使用命令ll /usr/bin | grep python3
python命令的软链在/usr/bin/python3.9
此时我们的版本就是python3.9

- 想要修改为python3.11
需要删除python3的软链,再重新建立一个即可(需要root权限)
rm /usr/bin/python3ln -s /usr/bin/python3.11 /usr/bin/python3windows
只需要打开 高级系统设置———>环境变量
看里面的系统变量Path和用户变量Path的优先级即可,上移或下移修改优先级即可
python安装
windows就不介绍了,没一点问题。
linux
官网下载:
Gzipped source tarball 这个用于kali安装
XZ compressed source tarball 这个用于centos
以python3.8为例:
这里进行下载
linux安装过程见代码块
python pip安装
linux
pip2安装
https://bootstrap.pypa.io/pip/<python version>/get-pip.py
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python2 get-pip.py
pip3安装(其实也建议用pip2的方式安装,但有时会报错)
sudo apt install python-pip
sudo apt install python3-pip 


多python3版本安装pip:(pip安装好后就在/usr/local/Python311/bin/pip3)https://blog.csdn.net/weixin_47499687/article/details/116005852
多版本python共存时,当你已经将python3.8设置为环境变量时,
使用命令
sudo apt install python3-pip执行成功此时,输入pip -V显示版本错误的排查过程
此时,pip -V输入显示的是
pip 23.3.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11),此时显示的是python3.11的pip,按照env的顺序它就是/usr/local/bin下的pip文件在env环境变量里发现/usr/local/bin在/usr/bin之前,在/usr/local/bin中不存在pip3.8,那我们通过apt install python3-pip安装的pip3.8在哪呢?
通过whereis pip查找,发现了/usr/bin/pip,经过排查它就是pip3.8的版本,因为在env环境变量中的优先级问题,所以显示的命令行pip版本是pip3.11的


此时我们只需要将它copy到/usr/local/bin即可
copy /usr/bin/pip /usr/local/bin/python3.8备份原来的python3,将python3.8创建一个副本命名
mv /usr/local/bin/pip /usr/local/bin/pip.bakcp /usr/local/bin/pip3.8 /usr/local/bin/pip最后使用
python -m pip install --upgrade pip更新版本即可。
此时,输入pip -V可见版本切换完成

windows
安装到一个文件夹内直接进入scripts,里面就有pip2
更新pip命令:
python2 -m pip install --upgrade pip我本身已经有低版本python2,覆盖安装的时候需要将原来的python2.exe删除,复制新的python.exe一份取名python2.exe。不这样做的输入python2还是原来的旧版本python2
python pip更新
cmd命令:
python -m pip install --upgrade pip如果报错:ValueError: check_hostname requires server_hostname
原因是开启了科学上网,关掉再次运行即可
pip命令可用但无法下载的问题
这里看出是ssl的问题
