【问题标题】:heroku python buildpack pip install not adding the entry-points.txt file when installingheroku python buildpack pip install 安装时未添加 entry-points.txt 文件
【发布时间】:2020-03-05 12:56:11
【问题描述】:

我的运行时是python-3.7.5

我有一个 Django 可重用应用程序,其入口点位于 setup.py 中,定义为:

setup = (
...
entry_points={'my.group': 'foo = bar'},
)

这让我可以使用pkg_resources.iter_entry_points(group="my.group", name=None) 来获取插件列表。

在我遇到这个错误之前我不知道,但它似乎依赖于安装在egg-info 中的entry_points.txt 文件。

当我推送到 heroku 时,这个 entry_points.txt 文件似乎丢失了。我做了一个heroku run bash 并且:

~/.heroku/python/lib/python3.7/site-packages/m_package.egg-info $ ls
dependency_links.txt  installed-files.txt  PKG-INFO  SOURCES.txt  top_level.txt

但是当我卸载它并手动安装它时,我重新检查:

~/.heroku/python/lib/python3.7/site-packages/my_package.egg-info $ ls
dependency_links.txt  entry_points.txt  installed-files.txt  PKG-INFO  requires.txt  SOURCES.txt  top_level.txt

我错过了 buildpack 的功能吗?

唯一要补充的是,我使用https://github.com/timshadel/heroku-buildpack-github-netrc.git 在 git 中获取 Https 身份验证,(我的 requirements.txt 有一些来自私人 github 存储库的包)但我认为这根本不重要.

【问题讨论】:

  • 我认为它可能是 pip 版本,所以我分叉了 heroku python buildpack 并尝试更新 pip 但没有成功。

标签: django heroku pip heroku-cli


【解决方案1】:

在弄乱了官方的 django buildpack 之后,我意识到它只是在缓存包,并且由于我更新了 my_package 的代码而不是它的版本,它没有选择新的库,因此没有入口点。当我在 heroku 实例上手动执行 pip install 时,它正在选择正确的库。

无论如何,很高兴知道,所以如果有一天有人遇到同样的问题,请保留问题和答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2019-01-12
    • 2020-07-17
    • 2019-06-21
    • 1970-01-01
    • 2012-07-17
    • 2020-12-26
    相关资源
    最近更新 更多