Linux - Ubuntu里安装Python的包

2023-05-16

在Ubuntu中,apt install python,默认是安装python2。

要安装python3, 要使用apt install python3。

安装后运行python、python2,调用的都是python2的程序,运行python3才是调用的python3。

所以,我们使用时要注意python版本的不同,如果需要运行时带上--version参数,确保使用的版本是正确的。

比如,python中的标准软件包管理器Pip命令,也可能是python2或python3的,就要注意,需要--version参数确认版本,或者调用时也会根据pip或pip3两种命令形式进行区分。

Pip的功能是允许我们安装和管理不属于Python标准库的额外软件包。Pip是伴随着Python(3.4和2.7.9版本之后)安装新包的一个重要工具。这些包是从PyPi的仓库中获取的,并自动与你的Python集成。

比如我的Ubuntu系统上运行的pip命令如下:

$ pip --version

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Python3的pip安装:

$ sudo apt install python3-pip

也可以用Python命令检查pip版本:

python -m pip --version

比如在我的环境下用python3运行就是:

$python3 -m pip --version

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

有了pip,就可以在Ubuntu里安装python的package了:

$ pip install pip-install-test

Collecting pip-install-test

  Downloading pip_install_test-0.5-py3-none-any.whl (1.7 kB)

Installing collected packages: pip-install-test

Successfully installed pip-install-test-0.5

也可以卸载某个包:

$ pip uninstall pip-install-test

Python可以安装的包,可以在PyPI网站查询:

PyPI · The Python Package Index

PyPI是Python软件包索引( Python Package index ),Python模块的存储库。

pip这个工具就是用来直接从PyPI下载和安装软件包的。PyPI是由Python软件基金会( Python Software Foundation)主持的。它是一个专门的软件包管理器,只处理Python软件包。

除了PyPI,在Linux Ubuntu中,还有其他方法。

比如我在运行某个pyton脚本时,出现个错误:

错误:

import requests

ModuleNotFoundError: No module named 'requests'

解决方法:

For Debian/Ubuntu Python2: sudo apt-get install python-requests

For Debian/Ubuntu Python3: sudo apt-get install python3-requests

Windows

Use pip install requests (or pip3 install requests for python3) if you have pip installed and Pip.exe added to the Path Environment Variable. If pip is installed but not in your path you can use python -m pip install requests (or python3 -m pip install requests for python3)

按照提示,我运行了下面命令就OK了:

$ sudo apt-get install python3-requests

所以有一些包,使用Ubuntu的apt-get命令也能够安装。

apt-get用于从Canonical托管的Ubuntu软件库下载和安装软件包。

从apt-get和pip安装python包的一些区别如下:

- Canonical只提供选定的python模块的包。而PyPI承载了更多的python模块。所以,有很多python模块是无法用apt-get安装的。

- Canonical只托管任何软件包的单一版本(通常是最新的或最近发布的版本)。所以,用apt-get我们无法决定我们想要的python-package的版本。在这种情况下,pip可以帮助我们。我们可以安装以前在PyPI上上传过的任何版本的包。这在依赖关系发生冲突的情况下是非常有帮助的。

- apt-get将python模块安装在全系统的位置。我们不能只在我们的项目virtualenv中安装模块,pip为我们解决了这个问题。如果我们在激活virtualenv后使用pip,它就会智能地只安装我们项目virtualenv中的模块。如前所述,如果在系统范围内已经安装了某一版本的python包,而我们的一个项目需要同一python包的旧版本,在这种情况下,我们可以使用virtualenv和pip来安装那个旧版本的python包,而不会有任何冲突。

- 软件包的名字也会有差异。Canonical通常将Python 2软件包命名为python-<package_name>,Python 3软件包命名为python3-<package_name>。而对于 pip 来说,我们一般只需要对 Python 2 和 Python3 包使用 <package_name>。

apt-get和pip都是成熟的软件包管理器,在安装时自动安装任何其他软件包的依赖。但是,如果你需要安装一个特定版本的python-package,或者在virtualenv中安装软件包,或者安装一个只在PyPI上托管的软件包;只有pip会帮助你解决这个问题。否则,如果你不介意在全系统范围内安装软件包,那么使用apt-get或pip其实并不重要。

关于Canonical:

科能软件有限公司(Canonical Ltd.) 是一家私人公司,由南非的企业家马克·沙特尔沃思创建,主要为了促进开源软件项目。Canonical在曼岛登记注册,其雇员分布在世界各地,其主要办事处在伦敦,在波士顿、圣保罗、蒙特利尔、上海、台北和马恩岛也有分公司。

Canonical公司支持并创建了几个项目,主要都是自由/开源软件(FOSS)或是一些旨在改善自由软件开发者和贡献者的工具。在2008年5月接受卫报采访时,马克·沙特尔沃思说,Canonical公司的商业模式主要是基于软件的服务,并解释说,Canonical还不能收支平衡,仍需要持续的投资。马克还说,我们认为软件的未来就是不需要授权的,人们可以在第一时间免费得到他们想要的软件,公司依赖软件的服务盈利,这是未来的发展趋势。 这个战略类似于Red Hat在20世纪90年代的经营战略。

Canonical发布Ubuntu,为Ubuntu提供商业服务和解决方案,并与硬件制造商、软件供应商和公共云合作。

参考:

PIP vs PIP3: What is the Difference? - Python Pool

pip-install-test · PyPI

software installation - apt-get install vs pip install - Ask Ubuntu

https://zh.wikipedia.org/zh-cn/Canonical

Publisher of Ubuntu | Canonical

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - Ubuntu里安装Python的包 的相关文章

随机推荐

  • 视觉SLAM作业(四) 相机模型与非线性优化

    视觉SLAM作业 xff08 四 xff09 相机模型与非线性优化 一 图像去畸变 现实生活中的图像总存在畸变 原则上来说 xff0c 针孔透视相机应该将三维世界中的直线投影成直线 xff0c 但是当我们使用广角和鱼眼镜头时 xff0c 由
  • 在TUMVI数据集上测试VINS-Fusion算法

    VINS Fusion算法是一个非常优秀的视觉惯性里程计 但原版VINS Fusion并没有提供与TUM数据集相应的配置文件 因此需要自己进行写yaml文件 修改配置文件 tum mono yaml span class token dir
  • SLAM中的三角测量

    来源 视觉SLAM十四讲 xff0c 作者 高翔 三角测量是SLAM中 xff0c 利用相机运动估计特征点空间位置的过程 本节旨在解决以下问题 xff1a 三角测量的概念三角测量的过程及代码实现 xff1b 三角测量有哪些不确定性如何提高三
  • SLAM 岗位求职与简历书写

    本文学习自B站计算机视觉Life的如何写简历 当前求职背景怎么样 2019计算机直觉算法岗的求职情况为 xff1a 候选人数很多 xff0c 优秀者极少找工作不仅需要实力 xff0c 也需要运气 原因 贸易战影响 xff1a 华为 海康 大
  • SLAM中的后端优化

    本节介绍SLAM中的后端优化过程 一 问题阐述 同时对三维点位置和相机参数进行非线性优化 二 LM法的原理与优势 原理 xff1a 是一种 信赖域 的方法 xff0c 当收敛速度较快时 xff0c 增大信赖域使算法趋向于高斯牛顿法 xff1
  • 运动一致性判断

    直至以来 xff0c SLAM的研究共朝着三个方向努力 xff1a 精度 速度 鲁棒性 尤以鲁棒性居多 通常动态场景中 xff0c 根据IMU测量值与视觉测量值分别进行计算得到的结果会有所不同 因此需要进行一致性的检测 xff0c 以得到真
  • 使用evo工具评测SLAM

    evo是一款用于视觉里程计和slam问题的轨迹评估工具 核心功能是能够绘制相机的轨迹 xff0c 或评估估计轨迹与真值的误差 支持多种数据集的轨迹格式 xff08 TUM KITTI EuRoC MAV ROS的bag xff09 xff0
  • 用VS Code写C语言无法使用`__attribute__(packed)`

    今天 xff0c 在Windows上写C语言程序 xff0c 结果编写的结构体总是无法使用 attribute packed xff0c 导致读取的二进制文件字节对不上 检查CMakeLists txt和代码均没有发现明显错误 typede
  • CURL 基于命令行的浏览器

    CURL 嗯 xff0c 说来话长了 这东西现在已经是苹果机上内置的命令行工具之一了 xff0c 可见其魅力之一斑 1 二话不说 xff0c 先从这里开始吧 xff01 curl http www yahoo com 回车之后 xff0c
  • STM32F429入门(二)

    开始学习嵌入式的第二天 xff0c 发现昨天学习的东西有些遗漏 xff0c 今天要做个补充 x1f60e 那么就从寄存器那一块开始补学吧 xff0c 昨天没有那么仔细地去学习这个知识 xff08 一 xff09 学会看丝印 xff1a 如果
  • VSCode中如何让终端默认在当前文件的路径启动

    VSCode中如何让终端默认在当前文件的路径启动 1 只改变当前工作区的设置2 改变所有打开工程的设置 经常使用VSCode运行调试文件 xff0c 又不想每次都手动cd目录的话 xff0c 可以通过修改设置让终端默认在当前文件的路径启动
  • emWin - Movie篇

    STemWin版本 xff1a 544 xff08 ST购买了emWin的license xff0c 可以在ST芯片中使用emWin工具包 xff0c 就叫STemWin xff09 emWin开发工具包可以转换JPG BMP GIF等各种
  • 芯片端子的多路复用

    嵌入式软件的开发 xff0c 经常要和芯片打交道 xff0c 和个人电脑的通用平台的CPU使用X86或X64架构不同 xff0c 嵌入式电子产品使用的主控芯片是各种各样的 xff0c 从8051单片机 xff0c 到ARM Cortex M
  • 小说三要素和六要素

    小说是以刻画人物为中心 xff0c 通过完整的故事情节和具体的环境描写反映社会生活的一种文学体裁 或通过情节的展开和环境的渲染反映社会生活的一种文学体裁 小说有三个要素 xff1a 人物形象 故事情节 典型环境 xff08 自然环境和社会环
  • POV写作手法

    POV xff08 Point of View xff09 xff0c 一种写作手法 xff0c 即 视点人物写作手法 xff0c 在叙述同一件事可以自由选取最丰厚的角度 xff0c 大大加强了叙述的灵活性 xff0c 在讲述故事的同时作者
  • 工具说明书 - 搜索引擎推荐

    Yandex 俄罗斯人用的多 Yet Another Indexer 34 xff08 另一个索引 xff09 把定位改到美国 xff0c 再把搜索设置为无限制 www yandex com CC Search 查一些版权免费的图片和音视频
  • 嵌入式 - 在嵌入式软件开发中使用stdint.h头文件

    在嵌入式系统软件开发上 xff0c 对不同的平台 xff0c 其每个机器字长都可能不同 在这个硬件平台上使用int xff0c 可能是4个字节 xff0c 你做一个很大整数的运算也没问题 但换个硬件平台 xff0c int可能变成了2个字节
  • 编程参考 - C语言中将字符串转换为整数

    C语言 xff0c 主要有两种方法可以将字符串转为整数 xff1a atoi 和 strtol 1 xff0c atoi Syntax int atoi const char str 包含的头文件是 xff1a stdlib h 给定字符串
  • 工具及方法 - Excel插件XLTools

    立即开始使用XLTools XLTools是一个功能强大的Excel插件 xff0c 专为商业用户设计 它将帮助您在Excel中更快 更容易地准备数据 跟踪变化和实现任务自动化 无论您是刚刚开始免费试用还是购买了终身许可证 xff0c 本介
  • Linux - Ubuntu里安装Python的包

    在Ubuntu中 xff0c apt install python xff0c 默认是安装python2 要安装python3 要使用apt install python3 安装后运行python python2 xff0c 调用的都是py