【问题标题】:Heroku Django Virtual Environment source code modificationHeroku Django 虚拟环境源码修改
【发布时间】:2022-01-26 11:41:02
【问题描述】:

我设法在 heroku 上部署了我的 django 应用程序(使用 mongodb 作为数据库)。

但是我需要在虚拟环境中修改django包中的一些源代码。

如何从 requirements.txt 访问由 heroku 创建的虚拟环境? 或者也许我怎样才能将虚拟环境直接上传到 heroku 并确保我的 GIT django 应用程序正在运行它?

谢谢

【问题讨论】:

  • 我假设您想更改正在使用的 python 包中的某些内容。我不建议更改依赖项的源代码。最好从您自己的源代码中覆盖功能,或者派生您正在使用的包。您能否更具体地概述您遇到的问题?
  • 更新源代码与虚拟环境无关,也可以使用requirements.txt作为模板创建环境,也与激活环境无关。如果要更新源代码,只需更新代码并重新运行python命令/ herocku deploy
  • 大家好。谢谢你的回复。我遇到的问题是在 django 包 2.2 中(未在版本 3 中解决),当我需要从 mongodb(gridfs 系统)读取文件时,django 包返回 int(值),但是来自 mongodb 的返回不是数值(就像在 sql 中 pk 是 1,2,3,....),而不是它的 objectid 对象...所以我只是删除 int(value) 中的 int 并且它可以工作..这就是我需要修改源代码的原因django。

标签: python django mongodb heroku


【解决方案1】:

如果您的问题是如何知道 git 依赖项与您的本地环境匹配,首先您应该冻结已安装的模块:

pip freeze > requirements.txt

然后将此文件包含在您将部署到 Heroku 的应用程序的根目录中。推送到 git 后,查看运行的命令并验证模块是否已安装。

【讨论】:

  • 感谢您的回复。当我需要从 mongodb(gridfs 系统)读取文件时,我遇到的问题是在 django 包 2.2(版本 3 中未解决)中,django 包返回 int(value),但是从 mongodb 返回的不是数值(就像在 sql 中 pk 是 1,2,3,....),而不是它的 objectid 对象...所以我只是删除 int(value) 中的 int 并且它可以工作..这就是我需要修改源代码的原因django。
猜你喜欢
  • 2014-11-09
  • 2021-09-13
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 1970-01-01
  • 2020-10-07
相关资源
最近更新 更多