Ich habe ein Python-Programm geschrieben. Und wenn ich eine shebang wie diese haben:Wie aktiviere ich ein Conda env in einer Subshell?
#!/usr/bin/python
und ich mache die Datei ausführbar mit:
$ chmod 755 program.py
kann ich das Programm wie so laufen:
$ ./program.py
Hier die ist Problem. Ich benutze die conda virtual environments. Wenn ich das Programm wie oben ausgeführt, erstellt das System ein Sub-Shell, die nicht die aktive Umgebung erkennt:
(my_env) $ ./program.py
ImportError: No module named pymongo
Wenn ich es auf diese Weise tun, aber ...
(my_env) $ python program.py
# blah blah... runs great
Wie kann ich angeben die richtige Umgebung für den Einsatz in der Subshell? Ist es möglich? Ich möchte meine Finger die Bemühung der Eingabe der sechs Zeichenkette speichern, die python
ist.
Ein weiterer Beitrag, Shebangs in conda managed environments, kurz berührt dies, aber bietet nicht die richtige Antwort. Anstatt die Umgebung in der Subshell zu aktivieren, heißt es nur, mach weiter und ignoriere den Shebang ... benutze einfach die $ python program.py
Syntax.
Dank @Nehal, dass es die richtige Antwort gibt. Hat das einen Namen? Nach was suche ich in der Dokumentation? – meh
@meh Es ist ein ziemlich verbreiteter Standard. Gehen Sie auch diese Antwort durch, was erklärt, warum wir diesen Shebang verwenden. http://askubuntu.com/a/88314/95343 –
Gut zu wissen. Vielen Dank! – meh