什么是PIP的相当于`npm install package –save-dev`?

在nodejs中,我可以执行npm install package --save-dev将安装的软件包保存到软件包中。

我如何在Python包pipe理器pip实现同样的function? 我想将软件包名称及其版本保存到使用像pip install package --save-dev requirements.pip这样的软件包中,然后放在pip install package --save-dev requirements.pip

pip没有pip

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

您可以在他们的文档页面上看到所有可用的选项。

如果真的困扰你,编写自定义bash脚本( pips )并不会太困难,它会自动将-s参数并冻结到你的requirements.txt文件中。

编辑1

由于编写这个提供类似于NPM的auto --save-dev选项没有任何改变,但Kenneth Reitz( requests作者和更多人)已经发布了一些关于更好的pip工作stream程的更多信息,以更好地处理pip更新。

使用pip freeze > requirements.txt是,不仅我们的直接依赖关系,而且它们的依赖关系也被复制到需求文件中,因此很难找出你的应用/项目的确切需求。

我已经创build了一个小的python包pip-save ,它是一个pip命令的包装,只添加/删除需求文件中的依赖关系。

安装

 $ pip install pip-save 

使用

安装一个包并将其添加到您的requirements.txt中

 $ pip-save install [<list of packages>] 

升级

 $ pip-save install --upgrade [<list of packages>] 

卸载一个软件包并将其从你的requirements.txt中删除

 $ pip-save uninstall [<list of packages>] 

VCS 安装软件包并将其添加到需求文件

 $ pip-save install -e <url of the repo> 

我做了一个快速黑客点击添加 – 保存选项安装/卸载命令。

请看我的博客关于这个黑客的更多信息: http : //blog.abhiomkar.in/2015/11/12/pip-save-npm-like-behaviour-to-pip/

安装(GitHub): https : //github.com/abhiomkar/pip-save

希望这可以帮助。

我已经创build了一个python包来包装实际的pip类,叫做pipm 。所有的pip命令都可以正常工作,并且会保存到需求文件中。 与pip-save不同,它可以处理许多文件和环境(testing,开发,制作等)。 它还具有升级所有/任何依赖项的命令。

安装

pipm install pkg-name

安装为开发依赖

pipm install pkg-name --dev

安装为testing依赖项

pipm install pkg-name --test

切除

pipm uninstall pkg-name

更新你所有的依赖关系

pipm update

从需求文件安装所有依赖项

pipm install

包括开发依赖

pipm install --dev

你可以手动将它保存在一个Makefile(或一个文本文件,然后导入到你的Makefile中):

 PYTHON=.venv/bin/python # path to pyphon PIP=.venv/bin/pip # path to pip SOURCE_VENV=. .venv/bin/activate install: virtualenv .venv $(SOURCE_VENV) && $(PIP) install -e PACKAGE $(SOURCE_VENV) && $(PIP) install -r requirements.txt # other required packages 

然后运行make install

如何使壳function做到这一点? 将以下代码添加到~/.profile~/.bashrc

 pips() { local pkg=$1 if [ -z "$1" ]; then echo "usage: pips <pkg name>" return 1 fi local _ins="pip install $pkg" eval $_ins pip freeze | grep $pkg -i >> requirements.txt } 

然后运行source ~/.profilesource ~/.bashrc将其导入到您的当前terminal

当你想安装&&保存一个包,只需运行,例如pips requests 。 在安装包之后,它的版本将被保存到当前目录下的requirements.txt中。