| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Python 包管理工具 pip -> 正文阅读 |
|
[游戏开发]Python 包管理工具 pip |
可能每个 Python 初学者都试过使用 pip install 来安装 wordcloud、pygame 等第三方包。但 pip 包管理工具究竟是什么;有哪些参数、选项、用法;如何在 Pycharm 中管理已安装的包;除了 pip 还有什么其他 Python 包管理工具,这些问题可能就不是完全清楚了。本文就来简单探索一下 pip 。 文章目录写在前面:三条提示本文涉及的所有命令均为在 Windows 终端(例如 Windows 10 的 PowerShell)中执行,而非在 Python 交互式解释器中。如果你不小心犯了这样的错误,会是下面这样
回到正确的终端运行即可,也就是每行最前面没有
pip 简述pip 是 Python 的一个包(Package)管理器,用来安装和管理 Python 标准库之外的其他包(第三方包)。从 Python 3.4 起,pip 已经成为 Python 安装程序的一部分,也是官方的标准的 Python 包管理器。 检查(安装) pip首先确保可以在命令行运行 Python:
如果显示了 Python 版本号,则说明正常。 然后检查是否可在命令行使用 pip:
如果显示了 pip 版本则正常。否则,可以尝试从标准库引导(这个命令有时可以修复出现问题的 pip):
如果依然不能正常使用 pip ,可以考虑重新使用 Python 的 exe 安装包修复,注意在高级选项里面勾选 pip。 如果 pip 可用,可以先跳转到本文“升级包”一节查看升级 pip 的方法,将 pip 升级到最新版本。 安装包从 PyPI 安装安装最新版本的:
安装指定版本的:
安装大于等于某版本,且小于另一指定版本的:
安装与特定版本兼容的版本:
这种情况下,会安装版本为 使用 PyPI 镜像站由于直接使用 pip 从 PyPI 上安装时,需要从国外的服务器下载数据,网络连接速度往往较慢,常会出现下载安装失败的情况。 一种解决办法是手动设置 socket 超时时间(默认15秒)和断开重连尝试次数(默认5次):
另一个更好的方法是从国内的镜像站下载包文档。 以清华大学开源软件镜像站为例: 临时使用(只对这一次安装有效)
使用该镜像站升级 pip:
设为默认下载源:
会将该配置写入到用户目录下的 /pip/pip.conf 文件中,例如在我的机器(Linux 系统,与Windows 略有不同)上:
查看 pip.conf 的内容,可以看到写入的内容
升级包升级包到最新版本的命令如下:
这个命令也可以用于升级 pip 、setuptools、wheel 到最新版本
Requirement Files在 GitHub 上克隆他人的 Python 项目时,常常会有一个 从 requirements 安装打开已有 requirements.txt 的项目,使用如下命令安装需求文件中指定的包:
生成 requirements在写自己的 Python 项目时,如果想要创建依赖文件,可以使用下面的命令:
直接使用
微调需求有时我们并不需要指定第三方包的版本严格等于(hardcoding)目前使用的版本 一般来讲,包都是向后兼容的,且新版本的包往往有修复 bug 、提升性能等优化,我们希望可以安装更新版本的包。 但也有一些情况,太新版本的包可能会出现问题,如对旧版本不兼容的更改(可能出现在大的版本号更新时)、破坏包之间的依赖关系等。例如,假设未来某天 requests 包推出了3.0版本,且语法和目前的 2.* 不相同,就会让现有的项目出现问题,因此需要避免。 可以在 requirements 文件中使用逻辑运算符,较为灵活的控制包的版本。 例如,在编辑器中打开 requirements.txt 文件,并进行如下修改:
再使用 pip 安装或升级包时,就会按照此要求安装指定范围内的最新版本。 生产环境 vs 开发环境由于生产环境和开发环境的不同,对有些包的需求也不同。开发环境中往往安装了更多用于测试等功能的辅助性包,这些包在生产环境中是不需要的。 可以创建第二个 requirements 文件(requirements_dev.txt)来列出创建开发环境所需要的其他工具,例如:
由于 pip 允许在 requirements 文件中指定其他参数,所以可以加上一行
就可以安装所有开发环境所需要的包了。 而此时在生产环境继续使用命令:
就不会安装 pytest ,保持了生产环境的轻量可靠。 寻找包pip 命令行可以使用
PyPI 网页然而相比在命令行工具进行搜索,只能看到包的简短描述信息,更好的方法是在浏览器中打开 PyPI 网页,搜索查看包的详细信息。 社区论坛另外,多关注社区动态、博主分享、Python 公众号等,多逛逛 GitHub ,往往能收藏到很多强大易用的优秀 Python 包。 卸载包检查依赖关系在卸载包之前,请先运行
例如:
注意最后的两个字段 Requires 和 Required-by 。可以看到,在我的机器上 PyQt5 包依赖于 PyQt5-Qt5 和 PyQt5-sip 这两个包,如果卸载它们,则 PyQt5 也就不能正常使用了。没有任何包依赖于 PyQt5,因此直接卸载 PyQt5 是安全的。 卸载卸载命令:
卸载包时会显示要删除的文件,并要求确认。如果已经在上一步中检查确认了该包是可以删除的(没有被其他包依赖),那么可以加上一个
也可以在一行命令中卸载多个包,包名之间用空格隔开即可:
还可以通过
pip help 信息在这里列出了命令行 使用
其他包管理工具Conda如果你使用过 Anaconda,那么一定不会对 Conda 包管理器感到陌生。Conda 是包括 Python 在内的许多语言的包、依赖项和环境的管理器,广泛应用于数据科学和机器学习领域。 PipenvPoetry在 Pycharm 中进行包管理不同版本 Pycharm 界面可能有微小差异,这里以 Pycharm Community 2021.2.2 为例。 查看已安装的包在设置中找到“项目 —— Python 解释器”,即可查看已经安装的包、包的版本、包的最新版本。 升级包、卸载包在这个界面选中某个包之后,点击升级(向上三角)按钮、卸载(减号)按钮即可。 更换 PyPI 镜像源这里通过图形界面列出的各种包信息,其实还是默认从https://pypi.python.org/simple 源获取的信息,所以可能加载很慢,必要时可以更换为国内镜像源。 先点击安装包的按钮(卸载包、升级包按钮左边那个加号按钮),进入安装包的界面 在这个界面点击左下角“管理仓库” 在这里点击左上角加号添加其他源,或直接把默认的 https://pypi.python.org/simple 改为其他源 这是我的配置,只设置了一个清华镜像站的源。 安装包完成更换镜像源之后,就可以安装包了。在搜索框内输入想要安装的包,会列出许多搜索结果,可以一一点开查看包描述,然后安装我们需要的那个,还可以手动勾选安装指定版本。 参考文档与扩展链接
PyPI 读音为 Pie Pea Eye 。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/28 4:41:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |