看起来你的api / manage.py没有shebang([Wikipedia]:Shebang(Unix)),因此默认(当前)命令处理器(shell-通常为bash)正在尝试运行它,(显然)失败。
要解决此问题,请添加一个shebang(在文件的开头,确保你的编辑器添加了结尾为Nix样式的行( n,0x0A,LF)):
- 默认Python安装:
#!/usr/bin/env python
- 变体(明确指定Python 3):
#!/usr/bin/env python3
- 自定义Python安装:
#!/full/path/to/your/custom/python/executable
请注意,你还需要对该文件()具有执行权限chmod +x api/manage.py。
例:
[cfati@cfati-5510-0:/cygdrive/e/Work/Dev/StackOverflow/q055271912]> ~/sopr.sh*** Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ***[prompt]> lspre0.py pre1.py[prompt]>[prompt]> cat pre0.pyprint("This is:", __file__)[prompt]> python3 -c "import os, subprocess;subprocess.Popen(os.path.join(os.getcwd(), "pre0.py")).communicate()"Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.6/subprocess.py", line 709, in __init__ restore_signals, start_new_session) File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename)OSError: [Errno 8] Exec format error: '/cygdrive/e/Work/Dev/StackOverflow/q055271912/pre0.py'[prompt]>[prompt]> cat pre1.py#!/usr/bin/env python3print("This is:", __file__)[prompt]> python3 -c "import os, subprocess;subprocess.Popen(os.path.join(os.getcwd(), "pre1.py")).communicate()"This is: /cygdrive/e/Work/Dev/StackOverflow/q055271912/pre1.py


