我注意到在安装了“ requirements.txt”中要求的软件包之后,每次我将更改推送到正在使用的Heroku应用程序中时,它们都不再安装,因此我假设这些文件没有被修改不再。
然后我在/app/.heroku/python/lib/python2.7/site-packages/target_library/target_file中更改了一个文件,但是当我执行git push时,该文件又回到了原始状态,尽管库不是再次安装。
是否有避免重置库或任何解决方法的方法?
答案 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中即可