CentOS7.x中无法直接通过pip3命令安装程序、ipython3无法正常使用。

本文主要是介绍CentOS7.x中无法直接通过pip3命令安装程序、ipython3无法正常使用。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题现象

1、通过pip -V查看版本

[root@localhost bin]# pip -V

显示如下:

pip 20.2b1 from /usr/lib/python2.7/site-packages/pip-20.2b1-py2.7.egg/pip (python 2.7)
[root@localhost bin]# pip3 -V

显示如下:

bash: /usr/bin/pip3: /usr/bin/python3: 坏的解释器: 没有那个文件或目录

在python3的安装目录/usr/local/python3/bin下用./pip3 -V命令查看版本:

[root@localhost bin]# ./pip3 -V

显示如下:

pip 20.1.1 from /usr/local/python3/lib/python3.8/site-packages/pip (python 3.8)

无法直接通过pip3 -V查看其版本,属于软链接的问题,解决过程如下:

[root@localhost bin]# pip3 -V
bash: /usr/bin/pip3: /usr/bin/python3: 坏的解释器: 没有那个文件或目录
[root@localhost bin]# pip -V
pip 20.2b1 from /usr/lib/python2.7/site-packages/pip-20.2b1-py2.7.egg/pip (python 2.7)
[root@localhost bin]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3ln: 无法创建符号链接"/usr/bin/pip3": 文件已存在
[root@localhost bin]# rm /usr/bin/pip3
rm:是否删除普通文件 "/usr/bin/pip3"?y
[root@localhost bin]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[root@localhost bin]# pip3 -V
pip 20.1.1 from /usr/local/python3/lib/python3.8/site-packages/pip (python 3.8)

2、通过ipython -V查看版本

[root@localhost bin]# ipython -V
3.2.1

在python3的安装目录/usr/local/python3/bin下用./ipython -V和./ipython3 -V查看,均返回如下异常:

Traceback (most recent call last):
File "./ipython3", line 5, in <module> from IPython import start_ipython ModuleNotFoundError: No module named 'IPython'

二、尝试解决

在/usr/local/python3/bin目录重新使用./pip3 install ipython安装:

[root@localhost bin]# ./pip3 install ipython
Requirement already satisfied: ipython in usr/local/python3/lib/python3.8/site-packages (6.1.0)

于是,接着尝试在/usr/local/python3/lib/python3.8/site-packages目录下,通过vi ipython-6.1.0-py3.8.egg-info修改Version: 6.1.0为Version: 6.1.111,发现再使用./pip3 install ipython安装,提示变为…(6.1.111),由此可见,ipython-6.1.0-py3.8.egg-info文件在修复该问题过程中起了阻碍作用。
通过mv命令重命名这个文件,重新执行./pip3 install ipython后,通过./ipython3命令可以进入ipython3。
重新安装ipython及验证安装过程如下:

[root@localhost bin]# ./pip3 install ipythonCollecting ipython
Using cached ipython-7.16.1-py3-none-any.whl (785 kB)
Collecting jedi>=0.10Using cached jedi-0.17.2-py2.py3-none-any.whl (1.4 MB)
Requirement already satisfied: pygments in /usr/local/python3/lib/python3.8/site-packages (from ipython) (2.6.1)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (3.0.5)
Collecting backcallUsing cached backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: decorator in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.4.2)
Requirement already satisfied: pexpect; sys_platform != "win32" in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.8.0)
Requirement already satisfied: setuptools>=18.5 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (41.2.0)
Requirement already satisfied: pickleshare in /usr/local/python3/lib/python3.8/site-packages (from ipython) (0.7.5)
Requirement already satisfied: traitlets>=4.2 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.3.3)
Collecting parso<0.8.0,>=0.7.0
Using cached parso-0.7.0-py2.py3-none-any.whl (100 kB)
Requirement already satisfied: wcwidth in /usr/local/python3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython) (0.2.5)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/python3/lib/python3.8/site-packages (from pexpect; sys_platform != "win32"->ipython) (0.6.0)
Requirement already satisfied: ipython-genutils in /usr/local/python3/lib/python3.8/site-packages (from traitlets>=4.2->ipython) (0.2.0)
Requirement already satisfied: six in /usr/local/python3/lib/python3.8/site-packages (from traitlets>=4.2->ipython) (1.15.0)
Installing collected packages: parso, jedi, backcall, ipython
Successfully installed backcall-0.2.0 ipython-7.16.1 jedi-0.17.2 parso-0.7.0
[root@localhost bin]# ./pip3 install ipython
Requirement already satisfied: ipython in /usr/local/python3/lib/python3.8/site-packages (7.16.1)
Requirement already satisfied: pygments in /usr/local/python3/lib/python3.8/site-packages (from ipython) (2.6.1)
Requirement already satisfied: jedi>=0.10 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (0.17.2)
Requirement already satisfied: backcall in /usr/local/python3/lib/python3.8/site-packages (from ipython) (0.2.0)
Requirement already satisfied: pickleshare in /usr/local/python3/lib/python3.8/site-packages (from ipython) (0.7.5)
Requirement already satisfied: decorator in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.4.2)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (3.0.5)
Requirement already satisfied: traitlets>=4.2 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.3.3)
Requirement already satisfied: setuptools>=18.5 in /usr/local/python3/lib/python3.8/site-packages (from ipython) (41.2.0)
Requirement already satisfied: pexpect; sys_platform != "win32" in /usr/local/python3/lib/python3.8/site-packages (from ipython) (4.8.0)
Requirement already satisfied: parso<0.8.0,>=0.7.0 in /usr/local/python3/lib/python3.8/site-packages (from jedi>=0.10->ipython) (0.7.0)
Requirement already satisfied: wcwidth in /usr/local/python3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython) (0.2.5)
Requirement already satisfied: six in /usr/local/python3/lib/python3.8/site-packages (from traitlets>=4.2->ipython) (1.15.0)
Requirement already satisfied: ipython-genutils in /usr/local/python3/lib/python3.8/site-packages (from traitlets>=4.2->ipython) (0.2.0)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/python3/lib/python3.8/site-packages (from pexpect; sys_platform != "win32"->ipython) (0.6.0)
[root@localhost bin]# ./ipython3
Python 3.8.3 (default, Jul 20 2020, 19:47:15) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = input()                                                      
2+3
In [2]: a                                                                
Out[2]: '2+3'

创建软链接(https://blog.csdn.net/xhx94/article/details/98865598),并测试ipython3:

[root@localhost bin]# ln -s /usr/local/python3/bin/ipython3 /usr/bin/ipython3
[root@localhost bin]# ipython3
Python 3.8.3 (default, Jul 20 2020, 19:47:15) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.In [1]: num = input('Please input a number:')                            
Please input a number:100+200In [2]: num                                                              
Out[2]: '100+200'

三、原因分析

可能的原因是:多个python版本导致安装pip时出现版本混乱,以及使用pip install ipython命令安装时,版本选择也产生混乱。

四、向大神求助

如果哪位大神知晓问题的原因,欢迎留言指教,多谢!!

这篇关于CentOS7.x中无法直接通过pip3命令安装程序、ipython3无法正常使用。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/458089

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所