将django项目部署到linux服务器上,每个依赖都要手动pip3 install,有什么办法可以批量解决

曲别针233
  • 8

类似java的maven包管理工具,可以批量import所有依赖呢?

回复
阅读 390
2 个回答
✓ 已被采纳

一。在同等环境下创建一个虚拟环境,调试运行成功后,直接整个拷到目标机器,修改程序入口的python路径即可。
二。在开发环境下pip freeze > reuirements.txt
在目标机器上pip install -r requirements.txt

yizdu
  • 4
新手上路,请多包涵

建议使用pipreqs工具而非pip freeze导出依赖,因为pip freeze会导出当前环境的所有的依赖,但项目中未必需要如此多的包,而且部署到服务器上时,服务器默认的源未必有这些非必须包的指定版本号。而pipreqs只会导出项目里使用的包。

安装可以通过pip

pip install pipreqs

具体用法可以去查找文档,常用的命令就是

pipreqs /路径/路径/项目的目录 --encoding=utf-8

但是当当前目录是项目的目录时,需要换成./而非.--encoding=utf-8指定输出的reuirements.txt的编码格式,这个通常在linux开发环境下默认就是utf-8了。

但是我在使用中时,发现pipreqs导出的依赖未必全,比如我使用django时,就需要另外安装mysqlclient包

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏