什么是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 ~/.profile
或source ~/.bashrc
将其导入到您的当前terminal
当你想安装&&保存一个包,只需运行,例如pips requests
。 在安装包之后,它的版本将被保存到当前目录下的requirements.txt
中。