0

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

这是推送到 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 吗?

谢谢你的帮助。

4

1 回答 1

0

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

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

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

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

于 2016-02-25T21:53:58.683 回答