python中的单个命令从package.json文件中安装相关模块

时间:2015-11-17 07:18:11

标签: python pip

在node.js中,可以在部署期间执行npm update --production,只要正确的package.json到位,就会安装所有相关的node.js模块。

是否有易于部署的python等效命令行? pip可以和npm做同样的事情吗?

4 个答案:

答案 0 :(得分:30)

是的,有一个命令可以执行此操作,一旦您想部署,您可以使用以下命令生成包文件:

pip freeze > requirements.txt

每当您想要从同一文件安装软件包时使用:

pip install -r requirements.txt

您可以找到有关冻结here

的更多信息

答案 1 :(得分:5)

我会使用 pipenv 而不是pip。 pipenv自动生成远远优于requirements.txt的Pipfile和Pipfile.lock

安装pipenv并将其设置为您的项目

pip install --user pipenv

cd yourproject
pipenv install package1 package2 ...

从Pipfile安装软件包非常简单

pipenv install

了解更多https://docs.pipenv.org/

更新:向诗歌

问好

我最近已经从Pipenv转向诗歌,因为诗歌具有Pipenv提供的一切以及更多内容。它是端到端的,因为它包括将项目构建和发布到pypi。

安装诗歌

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

并在路径中设置.poetry / bin。

poetry new yourproject
cd yourproject
poetry add packagename

像pipenv这样会生成pyproject.toml文件,该文件可满足您的所有要求。像Pipenv一样,安装您的依赖诗歌安装。

查看更多:https://poetry.eustace.io/docs/

请参阅Python packaging war: Pipenv vs. Poetry,以简短查看这些超赞的软件包

答案 2 :(得分:3)

你可以做一个

pip freeze > requirements.txt

在本地机器上。在服务器中,

pip install -r requirements.txt

这将安装所有依赖项

答案 3 :(得分:1)

是的,您可以将您的包放在一个简单的文本文件requirements.txt中,例如(版本号是可选的)

SQLAlchemy==1.0.4
requests==2.4.3

然后执行pip install -r requirements.txt