ubuntu 安装python3 pip 曲折经历

本文记录了在Ubuntu 14.04系统中安装Python3下的pip遇到的问题及解决过程,包括处理依赖错误、解决pip版本冲突等。
部署运行你感兴趣的模型镜像

以前一直在ubuntu14.04的python2.7上写selenium.最近想学习一下web接口测试,并且尝试一下python3,所以准备装个djongo玩一下。结果为了安装python3下的pip折腾了一晚上终于工作正常。ubuntu 14.04自带python2.7 和3.4,遂利用apt-get安装pip

sudo apt-get install python3-pip

可是出现类似如下错误(引用自stackoverflow,当时的错误信息没有保存),看信息应该是依赖的setuptools 没有安装,便继续安装setuptools

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 python-pip : Depends: python-setuptools (>= 0.6c1) but it is not going to be installed
              Recommends: python-dev-all (>= 2.6) but it is not installable
E: Unable to correct problems, you have held broken packages

sudo apt-get install python3 -setuptools

依然出现缺失依赖的错误

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 python-setuptools : Depends: python-pkg-resources (= 3.3-1ubuntu1) but 3.3-1ubuntu2 is to be installed
E: Unable to correct problems, you have held broken packages.
既然提示很明确就继续装呗

sudo apt-get install python-pkg-resources=3.3-1ubuntu1
sudo apt-get install python-setuptools
终于不再报错了,安装pip也正常,并且成功安装了djongo。可是无意间用pip3 freeze 时竟然抛错,而且除了install 其他的几乎都不工作。

Exception:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
        status = self.run(options, args)
      File "/usr/lib/python2.7/dist-packages/pip/commands/list.py", line 80, in run
        self.run_listing(options)
      File "/usr/lib/python2.7/dist-packages/pip/commands/list.py", line 142, in run_listing
        self.output_package_listing(installed_packages)
      File "/usr/lib/python2.7/dist-packages/pip/commands/list.py", line 151, in output_package_listing
        if dist_is_editable(dist):
      File "/usr/lib/python2.7/dist-packages/pip/util.py", line 348, in dist_is_editable
        req = FrozenRequirement.from_dist(dist, [])
      File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 236, in from_dist
        assert len(specs) == 1 and specs[0][0] == '=='

AssertionError
这下有点蒙,搜了一下说是因为pip版本太老,需要升级版本,那就升呗。没想到又是一个大坑啊!

sudo pip3 install --upgrade pip

本来以为一切搞定了,没想到pip直接就挂了。一运行pip3就抛错version confilict

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 654, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 968, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py", line 859, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (pip 9.0.1 (/usr/local/lib/python3.4/dist-packages), Requirement.parse('pip==7.1.0'))

很明显pkg_resource对应的pip version 是7.1.0, 而我更新后变成了9.0.1,对应不起来所以抛了错。会想到在更新pip的时候有多次timeout的情况,不知道是不是因为安装的中断造成的。找了好久,终于在万能的stackoverflow上找到了办法如下。其实很简单就是再重装一遍pip。至此终于把pip的环境搞定。

sudo python -m pip install --upgrade --force-reinstall pip




您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Ubuntu安装 Python 3.8 及其包管理工具 pip #### 更新软件包列表并安装必需组件 为了确保系统处于最新状态,在开始之前应先更新现有的软件包列表: ```bash sudo apt update sudo apt upgrade ``` #### 添加 Deadsnakes PPA 并安装 Python 3.8 由于默认的 Ubuntu 软件源可能不包含最新的 Python 版本,因此建议添加第三方维护者提供的 PPA 来获取更稳定的版本支持。 ```bash sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.8 python3.8-dev python3.8-distutils python3.8-venv[^3] ``` 这一步骤不仅会安装 Python 解释器本身,还会一并安装开发头文件和其他必要的依赖项,使得后续可以顺利编译扩展模块或创建虚拟环境。 #### 验证 Python 安装情况 完成上述操作之后,可以通过下面这条命令来确认 Python 是否已经正确安装,并查看具体版本号: ```bash python3.8 --version ``` 如果一切正常,则应该能看到类似于 `Python 3.8.x` 的输出结果。 #### 安装 Pip 工具 对于 Python 包管理而言,Pip 是不可或缺的一部分。针对不同版本的 Python,默认情况下可能会有不同的 Pip 命令名称(如 pip, pip2, 或 pip3)。鉴于当前目标是为 Python 3.8 设置对应的 Pip,所以应当执行如下指令: ```bash sudo apt install python3-pip[^2] ``` 需要注意的是,虽然通过这种方式可以直接获得适用于 Python 3 系列的通用 Pip 实现,但对于特定于 Python 3.8 的需求来说,最好还是进一步指定确切的目标路径来进行初始化设置: ```bash curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.8 - ``` 此方法能够保证所使用的 Pip 正确关联到了刚刚安装好的 Python 3.8 解释器之上。 #### 测试 Pip 功能性 最后,不妨尝试着利用新近配置完毕的 Pip 执行一次简单的测试动作——比如查询已知 PyPI 库的信息或者下载某个小型项目作为练习对象;当然也可以仅限于简单地调用帮助文档以证明功能无误: ```bash pip3.8 --help ``` 或是试着列出所有可用的全局选项参数: ```bash pip3.8 list ``` 以上就是整个流程的大致介绍,按照这些指导说明一步步操作下来,相信能够在 Ubuntu 中顺利完成 Python 3.8 和配套 Pip 的部署工作。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值