在Python中,与package.json和"npm install --save"命令等价的是可以轻松保存每个新包的方法。
在Python中,有一个很好的相当于npm的工具,叫做pipenv。它可以同时处理虚拟环境和pip依赖,类似于npm。
使用pipenv非常简单。首先安装pipenv:
pip install pipenv
然后可以创建一个新的虚拟环境,并生成一个pipfile文件来记录项目的依赖和其他信息:
pipenv install --three
进入虚拟环境:
pipenv shell
安装新的Python包:
pipenv install requests
运行Python文件:
pipenv run python somefile.py
pipenv的文档可以在这里找到:[https://pipenv.kennethreitz.org/en/latest/](https://pipenv.kennethreitz.org/en/latest/)
除了pipenv,还有其他一些工具也可以管理Python的依赖,比如poetry和pdm。但是需要注意的是,pipenv并不提供npm提供的所有功能,它只管理依赖关系。
Python使用pip
作为包管理器。pip install
命令有一个-r <file>
选项,可以从指定的requirements文件中安装包。
安装命令:
pip install -r requirements.txt
示例requirements.txt
文件内容:
Foo >= 1.2 PickyThing <1.6,>1.9,!=1.9.6,<2.0a0,==2.4c1 SomethingWhoseVersionIDontCareAbout
完整的格式描述,请参见文档中的Requirements Parsing部分:https://pip.pypa.io/en/stable/user_guide/#requirements-files
问题的出现原因:用户想要在Python中找到与package.json和"npm install --save"命令相当的功能和命令,以便轻松保存每个新的包。
解决方法:使用pip工具和requirements.txt文件可以实现类似于package.json和"npm install --save"命令的功能。
pip是Python中相当于Ruby的gems的标准工具。类似于distribute,pip默认使用PyPI包库来解析和下载依赖项。pip可以从一个列出项目依赖项的文件中安装依赖项(按照惯例称为requirements.txt):
pip install -r requirements.txt
也可以使用pip将当前Python环境中的软件包冻结:
pip freeze > requirements.txt
当与virtualenv包结合使用时,可以可靠地创建项目Python环境并安装项目所需的依赖项。
另外,使用pip freeze命令可以创建一个列出虚拟环境中安装的所有库的列表。是否有任何方法可以自动排除那些对当前项目工作不必要的库呢?
有一个-l(或--local)选项可能可以实现你的需求。
详情请参考:pip.pypa.io/en/stable/reference/pip_freeze
虽然有点晚,但还是要谢谢你的回答。我认为这个特定的选项应该单独作为一个回答。似乎这是一个非常有用的选项,但没有人知道。