/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: невозможно выполнить двоичный файл
Когда я попробовал запустить
heroku run bash python manage.py migrate --app appName
из терминала, используя Heroku CLI, я получаю следующую ошибку/ответ;
/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: cannot execute binary file
Я наконец-то смог обойти это, сначала войдя в bash на heroku, а затем выполнив нужную мне команду. Шаги перечислены ниже;
- Я открыл свой терминал и, используя heroku-cli, запустил
heroku run bash --app appName - Вы должны увидеть загруженную оболочку bash при успешном выполнении, выглядящую примерно так
~ $ - Теперь пройдите вперед и вручную введите вашу команду, в данном случае
python manage.py migrate, которая должна сработать. - Просто совет - если это все еще не работает (или вам просто интересно посмотреть каталог файлов), вы можете продолжить и перечислить различные каталоги, чтобы увидеть, где находится ваш файл manage.py, прежде чем перейти в нужный каталог и снова выполнить команду. Используйте
ls -l $(ls)илиfind . -maxdepth 3 -type d -lsили простоls -l.
Эта команда не имеет смысла:
heroku run bash python manage.py migrate --app appName
Давайте разложим это по полочкам:
heroku run ... --app appNameговорит Heroku запустить материал в...на приложенииappName.
python manage.py migrate- это команда, которую вы хотите запустить на вашем дино:python- исполняемый файлmanage.py- это файл, который выполняет Pythonmigrate- аргумент, передаваемый вmanage.py
bash... не делает здесь ничего полезного .
Фактически, вы говорите Heroku выполнить bash python manage.py migrate, где вы запускаете bash и передаете ему python manage.py migrate в качестве аргументов. Поскольку python не является сценарием оболочки, bash не может выполнить его.
Потерять bash:
heroku run python manage.py migrate --app appName