《 Python树莓派编程》—— 2.5 包管理器

简介: 本节书摘来自华章出版社《Python树莓派编程》一书中的第2章,第2.5节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著 韩德强 等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本节书摘来自华章出版社《Python树莓派编程》一书中的第2章,第2.5节,作者[美]沃尔弗拉姆·多纳特(Wolfram Donat)著 韩德强 等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。


2.5 包管理器

当你需要在Windows中安装一个程序时,通常你需要下载一个.exe或.msi文件,双击这个文件并按照指示进行安装。类似地,如果你用的是Mac,下载一个.dmg文件,将解压后的文件拷入你的硬盘,或者运行安装包文件,都可以完成安装操作。

在Linux中稍有些不同。Linux使用安装包系统,或者说包管理器(package manager)对软件进行跟踪。操作系统使用包管理器进行下载、安装、升级、配置及删除程序。大多数包管理器都有一个包含安装软件的内部数据库,数据库内也含有一些软件之间的依赖和冲突关系。根据发行版本不同,每种Linux的包管理器也不同。Debian(包括树莓派)使用aptitude,Fedora用的是RPM包管理器,Puppy Linux用的是PETget。如果你玩过一些下载的游戏,可能对Steam游戏比较熟悉,这时你会发现Steam的接口也是包管理器的一种形式。大多数包管理器既有命令行模式,也有图形界面。例如Ubuntu使用Synaptic作为aptitude包管理器的前端。

树莓派和Ubuntu类似,也使用aptitude包管理器,而且你可以在终端内完成绝大多数工作。安装一个软件最基本的命令是:

 9fec6a94802670bf985005af6c79644d4c5d2f76

这条命令会让包管理器进行如下操作:

1. 确定哪个软件资源(或称为软件库)拥有被申请的这个文件。

2. 查询软件库并确定该软件的依赖关系。

3. 下载并安装那些被依赖的文件。

4. 下载并安装被申请的软件。

这个过程看起来很容易,是的—它就应该这么容易。有时你可能在申请安装一些软件时会遇到问题,因为你安装的软件库不包含你申请的软件,但这个问题也很好解决。如果发生了这样的错误,你只需在终端内输入:

 22d65255b871b66bff4173157ce797b68559146d

之后输入:

 7faf65270f81c2446975a60b5a7f74b43ad88fe2

这样你的包管理器就会知道新的软件库了,再次输入:

 8209d5e552f88888c11c8d6ac95ac139cc57593a

即可。幸运的是,Raspbian的默认软件库包含了大多数你可能会用到的软件,因此(同样对于本书而言)你可能不会遇到刚刚提及的问题。

相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
28天前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
157 0
|
1天前
|
API Python
Python模块化编程:面试题深度解析
【4月更文挑战第14天】了解Python模块化编程对于构建大型项目至关重要,它涉及代码组织、复用和维护。本文深入探讨了模块、包、导入机制、命名空间和作用域等基础概念,并列举了面试中常见的模块导入混乱、不适当星号导入等问题,强调了避免循环依赖、合理使用`__init__.py`以及理解模块作用域的重要性。掌握这些知识将有助于在面试中自信应对模块化编程的相关挑战。
17 0
|
2天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
25 0
|
22天前
|
程序员 C语言 Python
Python列表推导式:简洁与高效的编程利器
在Python编程中,列表推导式(List Comprehension)是一种强大且优雅的工具,它允许我们以简洁的方式创建新的列表。列表推导式在Python程序员中广受欢迎,因为它能够将复杂的循环和条件语句简化为一行代码,提高代码的可读性和执行效率。
|
28天前
|
Java 编译器 Shell
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
43 0
|
29天前
|
缓存 分布式计算 自然语言处理
Python语言的函数编程模块
Python语言的函数编程模块
|
1月前
|
存储 JavaScript 编译器
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!

热门文章

最新文章