Python脚本通过shell运行但不通过supervisord运行

时间:2017-12-05 23:34:24

标签: python-3.5 supervisord pyasn1

我面临的错误是:

 File "/usr/local/lib/python3.5/dist-packages/oauth2client/crypt.py", line 23, in <module>
    from oauth2client import _pure_python_crypt
  File "/usr/local/lib/python3.5/dist-packages/oauth2client/_pure_python_crypt.py", line 24, in <module>
    from pyasn1_modules.rfc2459 import Certificate
  File "/usr/local/lib/python3.5/dist-packages/pyasn1_modules/rfc2459.py", line 20, in <module>
    from pyasn1.type import opentype
ImportError: cannot import name 'opentype'

我按照this stackoverflow answer中的说明解决了以为::

sudo apt-get --reinstall install python-pyasn1 python-pyasn1-modules
pip3 install --upgrade google-auth-oauthlib

当我通过supervisorctl运行我的程序时,sudo supervisorctl restart at_ussd我收到上面的错误。 但是,当我通过shell sudo python3 at_ussd.py运行我的程序时,程序运行顺利。

请帮我解决这个问题,以便继续使用主管进行管理!

1 个答案:

答案 0 :(得分:0)

TL;博士;搜索系统上安装的多个pyasn1 / pyasn1-modules软件包。

从回溯看起来你有最新的pyasn1-modules(0.2.1)和一些旧的(和不兼容的)pyasn1,例如&LT; 0.4.1从超级用户运行它时一起使用。

但是,当您从用户shell运行程序时,会选择兼容的pyasn1-modules / pyasn1组合。它可以是较旧的pyasn1-modules或较新的pyasn1。