linux下关于pip常见问题

问题一:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avaiable.

这个问题汇成一句换,你的 openssl 软件有问题。

办法一:

重新编译python安装,在编译之前预安装一些关于python依赖。

sudo apt-get install name

libssl-dev libcurl4 libcurl4-openssl-dev
zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

我也没有尝试出来是那个包解决问题了,反正就是上面的某个包起作用了

顺便这里放上我不报这个错时,我的linux(python3.6.9)关于SSL软件的情况。

ii  libssl-dev:armhf                     1.1.1n-0+deb11u4+rpt1            armhf      
ii  libssl1.1:armhf                      1.1.1n-0+deb11u4+rpt1            armhf            
ii  openssl                              1.1.1n-0+deb11u4+rpt1            armhf        
ii  python3-openssl                      20.0.1-1                         all          
ii  ssl-cert                             1.1.0+nmu1                       all

安装了这些包之后,再再重新编译安装一下python。
安装链接,点击这里。https://blog.csdn.net/LQ_001/article/details/130299900

办法二:

自己下载编译openssl

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar xvf openssl-1.1.1a.tar.gz 
cd openssl-1.1.1a
./config
make
echo ~
sudo make install

 cd curl-7.71.1/
./configure --prefix=$PWD/_install --with-ssl
make
make install

问题二:subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.

直接删除 sudo rm /usr/bin/lsb_release
不放心的话移动后删除 sudo mv /usr/bin/lsb_release /home/user/backup

问题三: Could not find a version that satisfies the requirement xxxxxx (from versions: )

一句话,这个问题是找不到要安装的包。
情况一:安装的包真的没有你的python版本
情况二:不管安装什么软件,都提示这个报错。
这是因为 pip 与 python 版本不对应。比如:你使用python3.7的pip往python3.6的里面安装软件。

命令: pip -V
输出:pip 21.3.1 from /home/xxx/mytools/python3.6.9/lib/python3.6/site-packages/pip (python 3.6)

命令:pip3 -V
输出:pip 21.3.1 from /home/xxx/mytools/python3.6.9/lib/python3.6/site-packages/pip (python 3.6)

命令: which python3
输出:/home/xxx/mytools/python3.6.9/bin/python3

上面命令可以查看这个问题。
如果有问题,参考下面链接进行配置。

安装python过程配置:https://blog.csdn.net/LQ_001/article/details/130299900

问题四: pip list不显示包列表,pip list不显示新安装的包

原因:pip安装对包读取路径不正确

办法:直接指定给pip刷新地址,读取指定路径的安装包。
使用命令python -m site查看当前python配置地址

命令:
python -m site

输出:
sys.path = [
    '/usr/bin',
    '/home/xxxx/mytools/python3.6.9/lib/python36.zip',
    '/home/xxxx/mytools/python3.6.9/lib/python3.6',
    '/home/xxxx/mytools/python3.6.9/lib/python3.6/lib-dynload',
    '/home/xxxx/mytools/python3.6.9/lib/python3.6/site-packages',
]
USER_BASE: '/home/xxxx/mytools/python3.6.9/' (exists)
USER_SITE: '/home/xxxx/mytools/python3.6.9/lib/python3.6/site-packages' (exists)

这里sys.path第四个参数就是我们的包路径,现在指定路径让 pip 从路径中读取。

cd /home/xxxx/mytools/python3.6.9/lib/python3.6/
vi site.py

在第八十多行位置

USER_SITE = None
USER_BASE = None

修改为

USER_BASE = "/home/xxxx/mytools/python3.6.9/"
USER_SITE = "/home/xxxx/mytools/python3.6.9/lib/python3.6/site-packages"

保存,退出。
可以看到 pip list 生效

问题五:使用pip list命令报错 ModuleNotFoundError: No module named ‘pip._internal.cli.main’

办法:升级pip,升级到21版本报错消失

问题六:使用which pip命令,返回输出不是理想路径

我这里是总是读取到 /home/.local 路径下的pip
办法:
先设置命令位置:

alias pip='/usr/bin/pip3'
alias pip3='/usr/bin/pip3'

再删除原来的命令位置的文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值