/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, а затем выполнив нужную мне команду. Шаги перечислены ниже;

  1. Я открыл свой терминал и, используя heroku-cli, запустил heroku run bash --app appName
  2. Вы должны увидеть загруженную оболочку bash при успешном выполнении, выглядящую примерно так ~ $
  3. Теперь пройдите вперед и вручную введите вашу команду, в данном случае python manage.py migrate, которая должна сработать.
  4. Просто совет - если это все еще не работает (или вам просто интересно посмотреть каталог файлов), вы можете продолжить и перечислить различные каталоги, чтобы увидеть, где находится ваш файл manage.py, прежде чем перейти в нужный каталог и снова выполнить команду. Используйте ls -l $(ls) или find . -maxdepth 3 -type d -ls или просто ls -l
  5. .

Эта команда не имеет смысла:

heroku run bash python manage.py migrate --app appName

Давайте разложим это по полочкам:

  • heroku run ... --app appName говорит Heroku запустить материал в ... на приложении appName
  • .
  • python manage.py migrate - это команда, которую вы хотите запустить на вашем дино:
    • python - исполняемый файл
    • manage.py - это файл, который выполняет Python
    • migrate - аргумент, передаваемый в 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
Вернуться на верх