2024-05-15 22:42:41 发布
网友
在nodejs中,我可以npm install package --save-dev将安装的包保存到包中。
npm install package --save-dev
如何在Python包管理器中实现相同的功能pip?我想在使用类似pip install package --save-dev requirements.pip的方法安装包之后,将包名称及其版本保存到requirements.pip。
pip
pip install package --save-dev requirements.pip
requirements.pip
没有与pip等价的。
最好的方法是pip install package && pip freeze > requirements.txt
pip install package && pip freeze > requirements.txt
您可以在它们的documentation page上看到所有可用的选项。
如果真的让您感到困扰,那么编写一个自定义bash脚本(pips)就不会太困难,该脚本接受一个-s参数并自动冻结到您的requirements.txt文件中。
pips
-s
requirements.txt
编辑1
自编写本文以来,在提供类似于NPM的自动--save-dev选项方面没有任何变化,但是Kenneth Reitz(作者requests)发布了关于better pip workflow的更多信息,以便更好地处理pip更新。
--save-dev
requests
编辑2
链接自上面的“更好的pip工作流”文章,现在建议使用^{}来管理需求和虚拟环境。最近我经常使用这个方法,我想总结一下转换是多么简单:
安装{}(在Mac上)
brew install pipenv
pipenv创建并管理自己的虚拟环境,因此在一个具有现有requirements.txt的项目中,安装所有需求(我使用Python3.7,但如果不安装,您可以删除--three)非常简单:
pipenv
--three
pipenv --three install
激活virtualenv运行命令也很容易
pipenv shell
安装需求将自动更新Pipfile和Pipfile.lock
Pipfile
Pipfile.lock
pipenv install <package>
还可以更新过期的软件包
pipenv update
我强烈推荐checking it out,尤其是来自npm背景的,因为它有类似于package.json和package-lock.json的感觉
npm
package.json
package-lock.json
这条简单的线是一个起点。您可以轻松地构建bash命令来重用行中的包。
pip install PACKAGE && pip freeze | grep PACKAGE >> requirements.txt
感谢@devsnd提供的简单bash函数示例:
function pip-install-save { pip install $1 && pip freeze | grep $1 >> requirements.txt }
要使用它,只需运行:
pip-install-save some-package
更新:显然,pipenv is not officially endorsed by Python maintainers,而previously-linked page属于另一个组织。这个工具有它的优点和缺点,但是下面的解决方案仍然达到了OP正在寻求的结果。
pipenv是一个依赖关系管理工具,它包装了pip,并提供了您所要求的内容:
https://docs.pipenv.org/basics/#example-pipenv-workflow
$ pipenv install <package>This will create a Pipfile if one doesn’t exist. If one does exist, it will automatically be edited with the new package your provided.
$ pipenv install <package>
This will create a Pipfile if one doesn’t exist. If one does exist, it will automatically be edited with the new package your provided.
A Pipfile是package.json的直接等价物,而Pipfile.lock对应于package-lock.json。
没有与
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工作流”文章,现在建议使用^{} 来管理需求和虚拟环境。最近我经常使用这个方法,我想总结一下转换是多么简单:
安装{}(在Mac上)
pipenv
创建并管理自己的虚拟环境,因此在一个具有现有requirements.txt
的项目中,安装所有需求(我使用Python3.7,但如果不安装,您可以删除--three
)非常简单:激活virtualenv运行命令也很容易
安装需求将自动更新
Pipfile
和Pipfile.lock
还可以更新过期的软件包
我强烈推荐checking it out,尤其是来自
npm
背景的,因为它有类似于package.json
和package-lock.json
的感觉这条简单的线是一个起点。您可以轻松地构建bash命令来重用行中的包。
感谢@devsnd提供的简单bash函数示例:
要使用它,只需运行:
更新:显然,pipenv is not officially endorsed by Python maintainers,而previously-linked page属于另一个组织。这个工具有它的优点和缺点,但是下面的解决方案仍然达到了OP正在寻求的结果。
pipenv是一个依赖关系管理工具,它包装了
pip
,并提供了您所要求的内容:https://docs.pipenv.org/basics/#example-pipenv-workflow
A
Pipfile
是package.json
的直接等价物,而Pipfile.lock
对应于package-lock.json
。相关问题 更多 >
编程相关推荐