在Heroku中编辑本地安装的软件包后,它将重置

时间:2018-07-08 07:01:06

标签: django heroku

我注意到在安装了“ requirements.txt”中要求的软件包之后,每次我将更改推送到正在使用的Heroku应用程序中时,它们都不再安装,因此我假设这些文件没有被修改不再。

然后我在/app/.heroku/python/lib/python2.7/site-packages/target_library/target_file中更改了一个文件,但是当我执行git push时,该文件又回到了原始状态,尽管库不是再次安装。

是否有避免重置库或任何解决方法的方法?

2 个答案:

答案 0 :(得分:1)

不,这不可能。 Heroku将始终直接从PyPI安装软件包,并且对您的修改一无所知。我不知道您为什么说他们没有再安装-相反,是的。

您确定您确实需要这样做吗?这是一件非常不寻常的事情。如果确定要这样做,那么唯一要做的就是将文件放入自己的项目中,或者将库分叉到GitHub上并安装分叉的版本。

答案 1 :(得分:0)

基于最后一个答案。

  

或在GitHub上分叉库并安装分支的版本。

以下是我测试过的几个步骤,对我有用:

1-在GitHub上分叉软件包仓库。

2-编辑它并更改所需的内容。

3-现在,从您的requirments.txt中删除原始软件包名称,并将其替换为git+https://github.com/you-github-username/forked-edited-package.git

现在,在部署项目时,它应该只需将已编辑的程序包安装到Heroku dyno中即可