bin/python3:无法执行二进制文件:执行格式错误

Posted

技术标签:

【中文标题】bin/python3:无法执行二进制文件:执行格式错误【英文标题】:bin/python3: cannot execute binary file: Exec format error 【发布时间】:2019-12-25 09:44:43 【问题描述】:

我刚刚创建了一个新的 django 项目,将其推送到 git,现在我正在尝试使用 Digital Ocean 进行部署。

我安装了 pip、python 等所有必需的东西,但我无法使 python manage.py runserver 工作。

((g-v) 是我的 virtualenv,所以这不是问题。)

它正在抛出这个错误:

(g-v) root@ubuntu-s-4vcpu-8gb-blr1-01:/home/g-v/src# python manage.py runserver
  File "manage.py", line 14
    ) from exc
         ^
SyntaxError: invalid syntax

我阅读了一些建议尝试 python3 manage.py runserver 的帖子,但是当我尝试这样做时,我收到了这个错误:

(g-v) root@ubuntu-s-4vcpu-8gb-blr1-01:/home/g-v/src# python3 manage.py runserver
-bash: /home/g-v/bin/python3: cannot execute binary file: Exec format error

我的pip list 命令输出:

(g-v) root@ubuntu-s-4vcpu-8gb-blr1-01:/home/g-v/src# pip list
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Package                       Version
----------------------------- ----------
astroid                       1.6.6
autopep8                      1.4.4
backports.functools-lru-cache 1.5
certifi                       2019.6.16
configparser                  3.7.4
Django                        1.11.23
enum34                        1.1.6
futures                       3.2.0
isort                         4.3.21
lazy-object-proxy             1.4.1
mccabe                        0.6.1
pip                           19.2.2
pipenv                        2018.11.26
pkg-resources                 0.0.0
pycodestyle                   2.5.0
Pygments                      2.4.2
pylint                        1.9.4
pytz                          2019.2
setuptools                    41.1.0
singledispatch                3.4.0.3
six                           1.12.0
typing                        3.7.4
virtualenv                    16.7.3
virtualenv-clone              0.5.3
wheel                         0.33.6
wrapt                         1.11.2

【问题讨论】:

乍一看,python3 二进制文件似乎有问题。 关于如何解决这个问题的任何想法? @WillemVanOnsem 不确定您是如何设置 DO 液滴的,但它们确实具有预先配置的 Django 液滴 - 我想使用其中之一应该可以消除任何复杂的配置问题。我只对他们进行了一些测试,但我对使用他们的 Django 液滴没有任何问题... 这对我有用:cd 到项目的根目录,停用 virtualenv,重新安装 python3 并运行python3 manage.py runserver,而不执行source bin/activate 【参考方案1】:

我在忘记转动 venv 时观察到这样的错误。

尝试source ./path-to-venv/bin/activate 并再次尝试manage.py runserver 命令。

【讨论】:

是的,那没用。我跑了source bin/activate(正如我在问题中所说)。感谢您尝试提供帮助! :D

以上是关于bin/python3:无法执行二进制文件:执行格式错误的主要内容,如果未能解决你的问题,请参考以下文章

Debian中如何切换默认Python版本

Linux下切换python版本

mysql无法执行二进制文件可执行文件格式错误

python3的基础练习题

usr/bin/python3^M: bad interpreter: No such file or directory

./abc.o:无法执行二进制文件:执行格式错误