在node.js中,可以在部署期间执行npm update --production
,只要正确的package.json到位,就会安装所有相关的node.js模块。
是否有易于部署的python等效命令行? pip可以和npm做同样的事情吗?
答案 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
更新:向诗歌
问好我最近已经从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