Python 中的单个命令可从类似 package.json 的文件安装相关模块

问题描述 投票:0回答:4

在node.js中,可以在部署期间执行

npm update --production
,只要正确的package.json就位,所有相关的node.js模块都会被安装。

是否有一个Python等效的命令行可以方便部署? pip 可以做和 npm 一样的事情吗?

python pip
4个回答
74
投票

是的,有一个命令可以做到这一点,一旦您想要部署,您可以使用以下命令生成包文件:

pip freeze > requirements.txt

并且每当您想从同一文件安装软件包时,请使用:

pip install -r requirements.txt

您可以在这里找到有关冻结的更多信息


25
投票

更新2024-09-22; uv 作为 Python 的货物/npm

uv
是我首选的 Python 打包中的
npm
(JS) 等价物。它使用 uv.lock 确保 pyproject.toml 文件中列出的依赖项解析为特定版本。

# installation
curl -LsSf https://astral.sh/uv/install.sh | sh

使用

uv

# initiate a package
uv init yourproject
cd yourproject
uv add packagename

查看更多uv:用 Rust 编写的极快的 Python 包和项目管理器

TLDR;

poetry
相当于
npm

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

安装 pipelinev 并为您的项目进行设置

pip install --user pipenv

cd yourproject
pipenv install package1 package2 ...

从 Pipfile 安装软件包非常简单

pipenv install

了解更多:https://pipenv.kennethreitz.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

像 pipelinenv 一样,它会生成 pyproject.toml 文件,满足您的所有需求。像 Pipenv 一样,安装你的依赖

poetry install

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

请参阅 Python 打包战争:Pipenv 与 Poetry,对这些很棒的包进行简短回顾


6
投票

你可以做一个

pip freeze > requirements.txt

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

pip install -r requirements.txt

这将安装所有依赖项


1
投票

是的,您可以将包放入简单的文本文件中

requirements.txt
,例如(版本号可选)

SQLAlchemy==1.0.4
requests==2.4.3

然后做

pip install -r requirements.txt

© www.soinside.com 2019 - 2024. All rights reserved.