【问题标题】:Few Python commands aborted without any error on MacOS Catalina在 MacOS Catalina 上,很少有 Python 命令在没有任何错误的情况下中止
【发布时间】:2020-06-12 08:37:25
【问题描述】:

我的笔记本电脑上的一些命令(例如 flask fabfabmanagersuperset)在没有任何错误消息的情况下被中止,我无法弄清楚这里出了什么问题

$ which python
/Users/azharkhan/Work/incubator-superset/venv2/bin/python

$ python --version
Python 3.7.7

$ which flask
/Users/azharkhan/Work/incubator-superset/venv2/bin/flask

$ which fabmanager
/Users/azharkhan/Work/incubator-superset/venv2/bin/fabmanager

$ which superset
/Users/azharkhan/Work/incubator-superset/venv2/bin/superset

当我尝试运行它们时,我得到了

$ flask fab create-user
[1]    49559 abort      flask fab create-user

$ superset run
[1]    49600 abort      superset run

我用python3.6 测试过同样的结果

正如@triplee 所问 在这里添加一些细节

$ ls -l /Users/azharkhan/Work/incubator-superset/venv2/bin/flask
-rwxr-xr-x  1 azharkhan  staff  247 12 Jun 14:40 /Users/azharkhan/Work/incubator-superset/venv2/bin/flask

$ file /Users/azharkhan/Work/incubator-superset/venv2/bin/flask
/Users/azharkhan/Work/incubator-superset/venv2/bin/flask: a /Users/azharkhan/Work/incubator-superset/venv2/bin/python3 script text executable, ASCII text

$ cat /Users/azharkhan/Work/incubator-superset/venv2/bin/flask
#!/Users/azharkhan/Work/incubator-superset/venv2/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from flask.cli import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

关于底层python的信息

$ ls -l /Users/azharkhan/Work/incubator-superset/venv2/bin/python3
lrwxr-xr-x  1 azharkhan  staff  50 12 Jun 14:29 /Users/azharkhan/Work/incubator-superset/venv2/bin/python3 -> /Users/azharkhan/.pyenv/versions/3.7.7/bin/python3

$ file /Users/azharkhan/Work/incubator-superset/venv2/bin/python3
/Users/azharkhan/Work/incubator-superset/venv2/bin/python3: Mach-O 64-bit executable x86_64

$ cat /Users/azharkhan/Work/incubator-superset/ak/bin/python3 | less
<CF><FA><ED><FE>^G^@^@^A^C^@^@<80>^B^@^@^@^Q^@^@^@^@^G^@^@<85>^@ ^@^@^@^@^@^Y^@^@^@H^@^@^@__PAGEZERO^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^Y^@^@^@(^B^@^@__TEXT^@^@^@^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@`^_^@^@^@^@^@^@^@^@^@^@^@^@^@^@`^_^@^@^@^@^@^E^@^@^@^E^@^@^@^F^@^@^@^@^@^@^@__text^@^@^@^@^@^@^@^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@0
^@^@^A^@^@^@.<F7>^Y^@^@^@^@^@0
^@^@^D^@^@^@^@^@^@^@^@^@^@^@^@^D^@<80>^@^@^@^@^@^@^@^@^@^@^@^@__stubs^@^@^@^@^@^@^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@^^A^Z^@^A^@^@^@<96>^F^@^@^@^@^@^@^^A^Z^@^A^@^@^@^@^@^@^@^@^@^@^@^H^D^@<80>^@^@^@^@^F^@^@^@^@^@^@^@__stub_helper^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@<F4>^G^Z^@^A^@^@^@
^K^@^@^@^@^@^@<F4>^G^Z^@^B^@^@^@^@^@^@^@^@^@^@^@^@^D^@<80>^@^@^@^@^@^@^@^@^@^@^@^@__cstring^@^@^@^@^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@<FE>^R^Z^@^A^@^@^@h:^B^@^@^@^@^@<FE>^R^Z^@^@^@^@^@^@^@^@^@^@^@^@^@^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@__const^@^@^@^@^@^@^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@pM^\^@^A^@^@^@{<E6>^B^@^@^@^@^@pM
^\^@^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@__unwind_info^@^@^@__TEXT^@^@^@^@^@^@^@^@^@^@<EC>3^_^@^A^@^@^@^L,^@^@^@^@^@^@<EC>3^_^@^B^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^Y^@^@^@<E8>^@^@^@__DATA_CONST^@^@^@^@^@`^_^@^A^@^@^@^@0^@^@^@^@^@^@^@`^_^@^@^@^@^@^@0^@^@^@^@^@^@^C^@^@^@^C^@
^@^@^B^@^@^@^P^@^@^@__got^@^@^@^@^@^@^@^@^@^@^@__DATA_CONST^@^@^@^@^@`^_^@^A^@^@^@<B8>^A^@^@^@^@^@^@^@`^_^@^C^@^@^@^@^@^@^@^@^@^@^@^F^@^@^@^Y^A^@^@^@^@^@^@^@^@^@^@__const^@^@^@^@^@^@^@^@^@__DATA_CONST^@^@^@^@<C0>a^_^@^A^@^@^@@ ^@^@^@^@^@^@<C0>a^_^@^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^Y^@^@^@
<88>^A^@^@__DATA^@^@^@^@^@^@^@^@^@^@^@<90>^_^@^A^@^@^@^@^@^@^@^@^@^@<90>^_^@^@^@^@^@^@ ^F^@^@^@^@^@^C^@^@^@^C^@^@^@^D^@^@^@^@^@^@^@__la_symbol_ptr^@__DATA^@
^@^@^@^@^@^@^@^@^@^@<90>^_^@^A^@^@^@<C8>^H^@^@^@^@^@^@^@<90>^_^@^C^@^@^@^@^@^@^@^@^@^@^@^G^@^@^@P^A^@^@^@^@^@^@^@^@^@^@__data^@^@^@^@^@^@^@^@^@^@__DATA^@^@^@^@^@^@^@^@^@^@И^_^@^A^@^@^@<8B>^S^F^@^@^@^@^@И^_^@^D^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@__bss^@^@^@^@^@^@^@^@^@^@^@__DATA^@^@^@^@^@^@^@^@^@^@`<AC>%^@^A^@^@^@<C1><FC>^A^@^@^@^@^@^@^@^@^@^D^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@__common^@^@^@^@^@^@^@^@__DATA^@^@^@^@^@^@^@^@^@^@0<A9>'^@^A^@^@^@<D0>^G^@^@^@^@^@^@^@^@^@^@^D^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^Y^@^@^@H^@^@^@__LINKEDIT^@^@^@^@^@^@^@<C0>'^@^A^@^@^@^@^@^M^@^@^@^@^@^@<B0>%^@^@^@^@^@l<F8>^L^@^@^@^@^@^A^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@"^@^@<80>0^@^@^@^@<B0>%^@<C0>"^@^@<C0><D2>%^@<C8>^@^@^@^@^@^@^@^@^@^@^@<88><D3>%^@H^S^@^@<D0><E6>%^@0<97>^@^@^B^@^@^@^X^@^@^@ <9C>&^@4r^@^@^D<C9>-^@h<DF>^D^@^K^@^@^@P^@^@^@^@^@^@^@<DA>i^@^@<DA>i^@^@:^G^@^@^Tq^@^@ ^A^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@`<BF>-^@i^B^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^N^@^@^@ ^@^@^@^L^@^@^@/usr/lib/dyld^@^@^@^@^@^@^@@^@^@^X^@^@^@<C8>O]<B1>A<EE>4Ţ<97><F0><9C>V<CB><E8><E6>2^@^@^@ ^@^@^@^A^@^@^@^@^O
^@^@^O
^@^A^@^@^@^C^@^@^@^@^@^R^B*^@^@^@^P^@^@^@^@^@^@^@^@^@^@^@(^@^@<80>^X^@^@^@0
^@^@^@^@^@^@^@^@^@^A^@^@^@^@^L^@^@^@h^@^@^@^X^@^@^@^B^@^@^@^@~<89>^F^@^@<96>^@/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation^@

【问题讨论】:

  • 这表明虚拟环境将这些命令符号链接到不是正确的 Mac 二进制文件的文件,但您的信息没有包含足够的信息来建立比这更详细的信息。
  • @tripleee 还有什么信息可以帮助它进行更多调试?我可以添加它们。另外,我也尝试过删除和重新创建二进制文件
  • ls -l /Users/azharkhan/Work/incubator-superset/venv2/bin/flask 和它指向的文件的前几个字节的十六进制转储可能是一个好的开始,和/或 file /Users/azharkhan/Work/incubator-superset/venv2/bin/flask 的输出(或者,再次,它的文件指向是否是符号链接)。
  • 它指向/Users/azharkhan/Work/incubator-superset/venv2/bin/python3可能有问题,你也可以添加吗?
  • 您能否在不中止它的情况下运行该应用程序python3?错误消息看起来可能是某些系统功能(反恶意软件?内存不足?)终止了该进程,但只是含糊其辞。您在系统日志中看到什么了吗?

标签: python flask virtualenv pyenv superset


【解决方案1】:

我认为这个问题是 MacOS Catalina 特有的。我的笔记本电脑也出现了同样的问题。 将 Catalina 更新到 Bigsur 后,我没有遇到这个问题。

【讨论】:

    猜你喜欢
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2015-09-14
    相关资源
    最近更新 更多