/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: 无法执行二进制文件
/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: cannot execute binary file
当我尝试时 运行
heroku run bash python manage.py migrate --app appName
从我的终端使用 Heroku CLI,我得到以下 error/response;
/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: cannot execute binary file
-- 更新截图 --
即使我在不添加 bash 的情况下尝试 heroku run python manage.py migrate --app appName
,我仍然会遇到错误。
我终于能够通过首先进入 heroku 上的 bash,然后 运行 我希望的命令来解决这个问题。下面列出了步骤;
- 我打开我的终端并使用 heroku-cli,我 运行
heroku run bash --app appName
- 如果执行成功,您应该看到 bash shell 已加载,看起来像
~ $
- 现在继续手动输入您的命令,在本例中
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
是文件Python执行
migrate
是传递给 manage.py
的参数
bash
...在这里没有做任何有用的事情
实际上,您是在告诉 Heroku 运行 bash python manage.py migrate
,您 运行 bash
并将其作为参数传递给 python manage.py migrate
。由于 python
不是 shell 脚本,因此 bash
无法执行它。
输bash
:
heroku run python manage.py migrate --app appName
当我尝试时 运行
heroku run bash python manage.py migrate --app appName
从我的终端使用 Heroku CLI,我得到以下 error/response;
/app/.heroku/python/bin/python: /app/.heroku/python/bin/python: cannot execute binary file
-- 更新截图 --
即使我在不添加 bash 的情况下尝试 heroku run python manage.py migrate --app appName
,我仍然会遇到错误。
我终于能够通过首先进入 heroku 上的 bash,然后 运行 我希望的命令来解决这个问题。下面列出了步骤;
- 我打开我的终端并使用 heroku-cli,我 运行
heroku run bash --app appName
- 如果执行成功,您应该看到 bash shell 已加载,看起来像
~ $
- 现在继续手动输入您的命令,在本例中
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
是文件Python执行migrate
是传递给manage.py
的参数
bash
...在这里没有做任何有用的事情
实际上,您是在告诉 Heroku 运行 bash python manage.py migrate
,您 运行 bash
并将其作为参数传递给 python manage.py migrate
。由于 python
不是 shell 脚本,因此 bash
无法执行它。
输bash
:
heroku run python manage.py migrate --app appName