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的包 的相关文章

随机推荐

  • DHT11温湿度传感器

    1 封装信息 2 DHT11通讯总介 微处理器与DHT 11之间的通讯和同步 xff0c 采用单总线数据格式 xff0c 一次通讯时间4ms左右 xff0c 数据分小数部分和整数部分 一次完整的数据传输为40bit xff0c 高位先出 数
  • does not support raise

    This plugin does not support propagateSizeHints This plugin does not support raise arm平台界面无法显示 xff0c 有如上日志 该系统上安装的是5 11
  • docker jvm 内存限制

    docker 容器提供了相关的内存限制 具体使用方式如 xff1a m 512m 完整例子 docker run rm m 512m e JAVA OPTS 61 Xmx512m tomcat 8 通过 m 进行限制 但是在实际应用重 xf
  • DES加密算法—实现(C语言)

    http www iteye com topic 478024 DES xff08 Data Encrypt Standard数据库加密标准 xff09 是迄今为止使用最广泛的加密体制 初学信息安全的新生 xff0c 一般都会被老师要求实现
  • 国家运输ITS通信协议(NTCIP)简介

    国家智能交通系统工程技术研究中心 张北海 中交国通智能交通系统技术有限公司 肖媛媛 1 NTCIP的发展历程 NTCIP National Transportation Communications for ITS Protocol 是美国
  • linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能

    本文转载自链接 xff1a http blog csdn net chenzba article details 51224715 xfeff xfeff 最近使用redis的c接口 hiredis xff0c 使客户端与redis服务器通
  • 推荐ucos-II 3本参考书 经典

    在这里给大家推荐三本学习ucos的必看书籍 1 xff08 比较难买 xff09 嵌入式实时操作系统uc os II教程 西安电子科技大学出版 这本书对UCOS的源代码分析的非常清楚 比作者原著 在某种程度上要好 xff0c 这本书对关键的
  • Windbg查看调用堆栈(k*)

    https www 52pojie cn thread 664189 1 1 html 无论是分析程序崩溃原因 xff0c 还是解决程序hang问题 xff0c 我们最常查看的就是程序调用堆栈 学会windbg调用堆栈命令 xff0c 以及
  • POV写作手法

    POV xff08 Point of View xff09 xff0c 一种写作手法 xff0c 即 视点人物写作手法 xff0c 在叙述同一件事可以自由选取最丰厚的角度 xff0c 大大加强了叙述的灵活性 xff0c 在讲述故事的同时作者
  • Go语言学习资料整理

    整理网上找到的Golang语言学习资料 基础 基础教程 书籍在线版 Go 指南 A Tour of Go Go语言圣经 xff08 中文版 xff09 Effective Go中文版 Go Web编程 build web applicati
  • 更好的内存管理-jemalloc

    今年年初由于facebook而火起来的jemalloc广为人之 xff0c 但殊不知 xff0c 它在malloc界里面很早就出名了 Jemalloc的创始人Jason Evans也是在FreeBSD很有名的开发人员 此人就在2006年为提
  • Windows上安装Net-SNMP5.7

    本文简要记录了在Windows上安装 net snmp 5 7 1的步骤 xff0c 最新的源码包可上net snmp官方网站下载 安装net snmp 5 7 1之前需要先安装 VS2010Win32 OpenSSL v1 0 1fAct
  • Redis源码分析(二)--结构体分析(1)

    继上次的redis源码分析 一 之后 xff0c 本人开始订制着一份非常伟大的计划 啃完redis源代码 xff0c 也对他进行了切块划分 xff0c 鉴于本人目前对他的整个运行流畅还不特别清楚的情况下 xff0c 所以决定第一个要解决的就
  • Redis源码分析(三)---dict哈希结构

    昨天分析完adlist的Redis代码 xff0c 今天马上马不停蹄的继续学习Redis代码中的哈希部分的结构学习 xff0c 不过在这里他不叫什么hashMap xff0c 而是叫dict xff0c 而且是一种全新设计的一种哈希结构 x
  • 【原创】关于wince OS开发面试问题的总结系列之Bootloader

    参考资料 xff1a 1 Windows CE 工程事件完全解析 by xff1a 李大为 2 Windos CE 实用开发技术 by xff1a 张冬泉 等 3 Windows Embedded CE 6 0 Fundamentals 4
  • UML--类之间的五种关系

    UML中的关系 xff08 Relationships xff09 主要包括5种 xff1a 关联关系 聚合关系 依赖关系 泛化关系 实现关系 1 关联 xff08 Association xff09 关系 关联关系是一种结构化的关系 xf
  • stm32并行驱动LCD12864,最简洁代码让你的屏幕亮起来

    前言 这两天因为一个项目的需要 xff0c 所以又用到了LCD12864这个模块 好久都没用到这玩意了 xff0c 感觉这东西好像要被淘汰的样子 xff0c 没想到现在又要用到 xff0c 简直了 记得上次用还是大一参加机器人比赛的时候 x
  • GCC编译过程,了解编译原理

    说明 xff1a 这篇文件是在读 程序员的自我修养 链接 装载与库 的一点笔记 xff0c 权当时学习的记录 1 GCC编译过程分解 以HelloWorld程序为例 2 预编译 规则 xff1a 命令 xff1a gcc E XXX c o
  • 谨以此文献给正在面临选择的你

    我是2011届的考生 xff0c 当我从我们学校的的分数公布栏上看到自己的分数时 xff0c 我感觉我的世界都变成了灰色 xff0c 一切都暗淡无光 在那段时间里 xff0c 我思考了很多的问题 xff0c 诸如要不要去复读 去哪一所学校
  • Linux - Ubuntu里安装Python的包

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