0

0

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

PHPz

PHPz

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

|

581人浏览过

|

来源于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 开关,让每个人都知道您是认真的。

从私有存储库安装

振作起来!

老年康养健身协会网站源码1.7.2
老年康养健身协会网站源码1.7.2

老年康养健身协会源码是基于易优cms开发,适合企业进行老年康养业务使用。程序内核为Thinkphp5.0开发,后台简洁,为老年康养企业而设计,这是一套安装就能建站的程序,不定期更新程序BUG,更新网站功能。我们提供的不仅是模板这么简单,我们还提供程序相关咨询、协助安装等服务。默认不包含小程序插件,需要另外单独购买插件。 模板安装步骤 1、请将安装包ZIP上传到你的网站根目录,在

下载

到目前为止,一切都只是儿戏。现在是时候使用一些大男孩 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% 的用例。

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

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

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

773

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

684

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

765

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

719

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1405

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

570

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

751

2023.08.11

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 16.6万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号