Ich möchte einen Cron-Job ausführen ein Python-Skript mit einem bereits vorhandenen Anaconda Python-Umgebung namens my_env. Das Einzige, was ich mir vorstellen kann, ist, dass der Cron-Job ein Skript namens my_script.bash
ausführt, das wiederum das env aktiviert und dann das Python-Skript ausführt.Ausführen eines Crontab-Jobs mit einem Annaconda-Env
#!/bin/bash
source activate my_env
python ~/my_project/main.py
Der Versuch, dieses Skript aus den Befehlszeilen funktioniert auszuführen nicht:
$ sh scripts/my_script.bash
scripts/my_script.bash: 9: scripts/my_script.bash: source: not found
Was muss ich tun, tun, um sicherzustellen, ist die richtige Umgebung aktiviert. Es ist in Ordnung, es mir zu erklären, wie ich bin 5.
I umgesetzt Ihr Lösung in Ubuntu 16 und erfolgreich Anaconda zu laufen. Wenn ich jedoch versuche, das PANDAS-Paket in das laufende Python-Skript zu importieren, bekomme ich eine [Errno 2] No solche Datei oder dieses Verzeichnis. Irgendwelche Gedanken, warum? Mein Bash-Befehls-Setup ist ziemlich einfach. 'PATH =/home/dev/anaconda3/bin' ' python/home/dev/AUTOSIFT/script.sh' – Adestin
Verstehen Sie nicht wirklich Ihre Frage. script.sh ist kein Python-Skript. Ist das ein Cronjob? Vielleicht müssen Sie zuerst eine Conda installieren Pandas. –
Ein Shell-Befehl löst ein Python-Skript aus. Ich habe das herausgefunden. Das Problem bestand darin, dass das .sh eine PATH-Variable benötigte, die bei der Ausführung festgelegt wurde. – Adestin