Как активировать среду Anaconda с веб-сервера Apache?

У меня есть сайт WordPress, работающий с Apache. С этого сайта мне нужно запустить код Python, но библиотеки, которые мне нужны, настроены в среде Anaconda. Чтобы активировать среду анаконды, мне нужно запустить:

source activate my_environment

…на терминале. На моем .PHP код, с другой стороны, он будет выглядеть примерно так:

shell_exec('source activate my_environment');

Дело в том, что я могу активировать свою среду анаконды только из терминала с тем пользователем, который ее создал. Как я могу настроить его так, чтобы мой сервер Apache мог активировать его из фрагмента PHP, который есть на моем сайте?

1

Решение

Поскольку активация среды должна происходить в одном и том же процессе оболочки, вы не можете активировать среду так, как вы пытаетесь. Тем не менее, вы можете запустить версию Python, установленную в этой среде напрямую, хотя, если у вас есть какие-либо пакеты, которые изменяют среду, эти изменения не будут восприняты без активации среды. Что-то вроде

/path/to/my_environment/bin/python script_name.py

PS: среда Conda активируется conda activate env_name в последних версиях Conda (> = 4.4)

1

Другие решения

Если вам нужно активировать среду conda из apache, команда conda может не работать.
Однако, если вы знаете, где путь к вашей среде conda, вы также можете использовать

jalazbe: $ source /conda-path-env/bin/activate

Пример:

jalazbe: $ source /home/myuser/myenv/bin/activate

Он должен работать

0

По вопросам рекламы [email protected]