python - pip 相当于 `npm install package --save-dev` 是什么?

标签 python node.js pip

在nodejs中,我可以通过npm install package --save-dev将安装的包保存到包中。

如何在 Python 包管理器 pip 中实现相同的功能?我想在使用 pip install package --save-dev requirements.pip 之类的东西安装包之后,将包名称及其版本保存到 requirements.pip >.

最佳答案

pip 没有等价物。

最好的方法是 pip install package && pip freeze > requirements.txt

您可以在他们的documentation page 上查看所有可用选项。 .

如果它真的困扰您,编写一个自定义 bash 脚本 (pips) 并接受 -s 参数并卡住到您的 requirements.txt 文件自动生成。

编辑 1

自从写这篇文章以来,提供类似于 NPM 的自动 --save-dev 选项没有任何变化,但是 Kenneth Reitz(requests 的作者等等)有发布了一些关于 better pip workflow 的更多信息更好地处理 pip 更新。

编辑 2

链接自上面的“更好的 pip 工作流程”文章,现在建议使用 pipenv管理需求和虚拟环境。最近经常使用这个,我想总结一下转换是多么简单:

安装 pipenv(在 Mac 上)

brew install pipenv

pipenv 创建和管理它自己的虚拟环境,因此在具有现有 requirements.txt 的项目中,安装所有要求(我使用 Python3.7,但你可以去掉--three,如果不去掉)就这么简单:

pipenv --three install

激活 virtualenv 来运行命令也很简单

pipenv shell

安装要求会自动更新PipfilePipfile.lock

pipenv install <package>

也可以更新过期的包

pipenv update

我强烈推荐checking it out特别是如果来自 npm 背景,因为它与 package.jsonpackage-lock.json

有相似的感觉

关于python - pip 相当于 `npm install package --save-dev` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135867/

相关文章:

javascript - for 循环仅迭代一次

python - PyPI 和 pip - 安装的包在读取 README.md 时收到错误

python - 损坏的 pip3 和 easy_install3 : DistributionNotFound

python - 为什么 str 在 Python 中没有 __radd__ 方法?

python - 将列表中缺失的元素作为每个时间窗口组的行插入到 DataFrame

python - 在 Python 2.7 中从 Unicode 转换字符串时遇到问题?

node.js - Mongoose 的分页结果,带有引用文档的过滤器

node.js - 需要 res.json() 到两个单独的端点,抛出 header 错误(node/express)

python - 无法将 pip 9.0.1 升级到 9.0.3 - 已满足要求

python - 如何在 Python3 中使用子进程生成字符串输出