2017-12-05 4 views
0

Der Fehler, ich bin vor ist:Python Skript über Shell läuft, aber nicht arbeiten über supervisord

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' 

Was ich dachte indem Sie den Anweisungen in this stackoverflow answer aufgelöst wurde:

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

Wenn ich mein Programm über supervisorctl, sudo supervisorctl restart at_ussd, starte ich den Fehler oben. Allerdings, wenn ich mein Programm über Shell sudo python3 at_ussd.py ausführen, läuft das Programm reibungslos.

Bitte helfen Sie mir, dies zu lösen, damit ich weiterhin Supervisor für das Management verwenden kann!

Antwort

0

tl; dr; Suchen Sie nach mehreren Paketen pyasn1/pyasn1-modules, die auf Ihrem System installiert sind.

Aus dem Traceback sieht es aus, als ob Sie die neuesten pyasn1-Module (0.2.1) und einige ältere (und inkompatible) pyasn1 haben, z. < 0.4.1 zusammen verwendet, wenn Sie es von superuserd ausführen.

Wenn Sie das Programm jedoch über Ihre Benutzer-Shell ausführen, wird eine kompatible Kombination aus pyasn1-modules/pyasn1 aufgerufen. Es können entweder ältere pyasn1-Module oder neuere pyasn1 sein.

Verwandte Themen