讲师中心 微信公众号
AI工具推荐 视频效率加速

关于如何使用 pip 安装你需要知道的一切

夏墨大大_2550

夏墨大大_2550

发布时间:2024-08-12 19:24:24

|

601人浏览过

|

来源于dev.to

转载

关于如何使用 pip 安装你需要知道的一切

在本文中,我们正在研究使用 pip 将代码安装到虚拟环境中的不同方法。

这些会变得更加复杂,但不用担心,我会全程陪伴您。 拍拍你的背

废话说够了!让我们从简单的事情开始吧。

安装本地存储库

假设以下情况:您刚刚签出了存储库并想要安装需求。

这可以通过使用以下命令轻松完成......当然是在创建虚拟环境之后:

$ python -m venv (name of virtual environment)
$ source (name of virtual environment)/bin/activate
$ pip install .

如果您想知道安装命令和requirements.txt 的缺失,我有坏消息给您。现在是 2024 年,您不应该再使用requirements.txt。

这当然只是我自己的意见,但我正在使用的所有存储库都有一个 pyproject.toml,我强烈建议在您的每个项目中也使用一个。可行的例外可能是沙箱项目和小脚本。

“为什么”在这里可能会被放错地方,但请允许我给你先睹为快。它不仅允许您自己定义您的需求。您还可以定义用户可以根据需要安装的可选依赖项。

这对于您在生产应用程序中不需要的开发工具特别有用,例如测试库或格式化程序。

但这只是功能列表的开始。它们也是元数据的存放位置,并允许自定义应用程序的入口点。

这里再次安装命令:

$ pip install .

确保您位于可以找到 pyproject.toml 的文件夹中。
这里有一个专业提示,如果您打算使用正在安装的存储库,请使用以下命令

$ pip install -e .

这将执行可编辑的安装,也称为“开发模式”,它允许您迭代测试代码更改,而无需重新安装项目。

这是什么意思?

您是否曾经遇到过这样的情况:您更改了从中导入的模块中的代码,但更改似乎没有生效?

尝试可编辑安装!

插曲:从分支安装

简单问题:如果你想安装特定分支的版本而不是默认分支,你该怎么办?

答案是显而易见的

$ git checkout (branch name)

并重复上面的步骤!对吗?

你个傻瓜,你刚刚激活了我的陷阱卡!

看,从 2.23 版本开始,镇上出现了一个新的东西,可以更直观地切换分支,它的名字叫 git switch。

git checkout 自此已被弃用。

所以不要使用过时的工具在同事面前暴露自己。相反,下次共享屏幕时随意按下 git 开关,让每个人都知道您是认真的。

One-click installation of GitHub projects
One-click installation of GitHub projects

GInstall OneClick — 一键安装 GitHub 项目:规划、克隆、安装 Node 依赖、运行开发脚本。适用于想要获取 GitHubNode.js 项目的用户。

下载

从私有存储库安装

振作起来!

到目前为止,一切都只是儿戏。现在是时候使用一些大男孩 pip 了。

看,每个人都可以安装包存储库中可用的包,但只知道如何从那里安装意味着您将无法访问私有存储库中的所有黄金。

在将你自己的代码变成包之前测试它也很有帮助。

如果您发现自己处于这种情况,请使用以下命令:

$ pip install git+ssh://git@(your provider)/(owner)/(repo name).git

这里是一个没有占位符的例子,可能会更容易理解。

$ pip install git+ssh://git@github.com/pandas-dev/pandas.git

有趣的事实:“://”之后的所有内容几乎与 git 生成的 ssh 命令相同。但请注意,必须替换斜杠,而不是用于分隔“github.com”和所有者“pandas-dev”的冒号。

如果您想从分支安装......或任何其他相关参考怎么办?

简单!只需在命令末尾添加 @(ref) 即可。所以它看起来像

$ pip install git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x (branch)
$ pip install git+ssh://git@github.com/pandas-dev/pandas.git@v2.2.2 (tag)

私人仓库和 pyproject.toml

但是如果从命令行安装软件包还不够怎么办?如果您的构建管道也应该从私有存储库安装怎么办?

希望您同意向管道添加单独的 pip install 语句是不可能的。

所以,让我向您展示要添加到 pyproject.toml 的依赖项部分的内容。 你会发现,它与之前的命令非常相似:

"pandas@git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x",

添加此内容后,再次运行 pip install -e ..

恭喜!您刚刚在您的环境中安装了过时版本的 pandas。您可能想对您需要的实际包重复此操作。

现在让它快点

既然你一直坚持到现在,我会推荐一个额外的工具。

过去几个月我使用了 uv,它是用 rust 编写的 pip(python 生态系统中其他常用工具)的直接替代品。

最大的卖点是它显着加快了虚拟环境的创建和软件包的安装速度。特别是当您重新创建虚拟环境时,因为它使用缓存。我们谈论的是速度快 10 倍……如果缓存是热的,甚至快 100 倍。

好处列表比这长得多,但这也是另一篇文章的内容。所以,现在就尝试一下,稍后再感谢我。

结论

让我们结束这件事吧。

这些是我在工作中使用的所有方式来处理 git 和 pip 之间的相互作用。可能还有其他方法来安装东西,但这应该涵盖 99% 的用例。

我忘记了你最喜欢的命令行技巧吗?那就在评论里分享吧

我希望您通过本文学到了一些新东西,如果您对更多有关软件开发的技术文章感兴趣,请考虑关注。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

106

2025.12.22

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

258

2026.02.11

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

602

2026.03.05

Rust 系统编程入门与实战
Rust 系统编程入门与实战

统讲解近年最受关注的系统级编程语言 Rust 的核心知识体系,涵盖 Rust 的安装与 Cargo 项目管理、变量绑定与不可变性设计哲学、所有权(Ownership)/ 借用(Borrowing)/ 生命周期(Lifetime)三大核心概念、结构体/枚举与模式匹配(match)、Trait 特征系统与泛型编程、错误处理(Result/Option)、智能指针(Box/Rc/Arc)、并发编程的无畏并发(Fearless Concurre

477

2026.05.29

Rust异步网络服务与Tokio Runtime深度实践
Rust异步网络服务与Tokio Runtime深度实践

本专题围绕 Rust 在高并发网络服务中的应用展开,系统讲解 Tokio 异步运行时、任务调度模型、Future 执行机制以及高性能网络编程方式。结合实际服务端案例,帮助开发者构建低延迟、高可靠的异步服务架构。

256

2026.06.29

Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

320

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

252

2026.01.31

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

551

2026.04.13

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

40

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn