在 Heroku 上使用 Pip 安装 Python 库时出现错误 30

Error 30 installing Python library with Pip on Heroku

我正在尝试在 Heroku 上安装 The Echo Nest Remix Python 库,但似乎最后它试图复制一些数据,即使 Heroku 是只读的。

Here's推送到 Heroku master 时会发生什么。

错误:

remote:            running install_data
remote:            copying external/youtube-dl/youtube-dl -> /usr/local/bin
remote:            error: [Errno 30] Read-only file system: '/usr/local/bin/youtube-dl'
remote:
remote:            ----------------------------------------
remote:        Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-sEL0Eg-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-6TegpX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-sEL0Eg-build
remote:
remote:  !     Push rejected, failed to compile Python app

我的 requirements.txt 看起来像:

numpy==1.6.2
http://static.echonest.com/remix/packages/remix-2.2.1.tar.gz

我的 runtime.txt 看起来像:

python-2.7.10

有什么办法可以克服这个问题吗?有没有人在 Heroku 上成功安装 Remix?

感谢您的帮助。

问题是 Echo Nest Remix 包从它的包中复制了几个文件夹到 Heroku 的项目目录,这是非法的。

我不得不分叉 Remix 存储库,删除被复制的目录,更改代码中对它们的任何提及,然后使用这个新分叉来安装 Remix。

对于遇到相同问题并想使用此分支的任何人,请记住我必须删除存储库中对 youtube-dl 的任何提及。这不是问题,因为我的应用程序不需要 youtube-dl,但你的应用程序可能需要。

您可以在 https://github.com/Mdelvalle/remix 找到分叉的 Remix (2.2.1) 存储库。