как поделиться пакетами анаконды с пользователем HTTP-сервера - PullRequest
0 голосов
/ 13 мая 2019

Я пользователь ubuntu и запускаю много скриптов, написанных на python3, который был установлен через anaconda.Все модули, которые мне нужны, были установлены там ранее, т.е. biopython.Тем не менее, я не могу импортировать biopython в один из моих скриптов, когда пытаюсь запустить свой скрипт из / usr / lib / cgi-bin

из Bio import SeqIO #it не работает

Вы можете увидеть ОШИБКУ на этой странице http://pegaso.microbiologia.ull.es/cgi-bin/hello.py, которая является моим сервером.

Я попробовал советы, предложенные на Почему Python не может найти некоторые модули, когда я запускаю CGI-скрипты из Интернета? или https://www.raspberrypi.org/forums/viewtopic.php?t=50225

ВВ первом случае разрешения sudo для www-данных создают предупреждение о безопасности, потому что я использую сервер из публичного учреждения.Второй случай касается raspberrypi

Как я могу решить проблему ??

Я думаю, что моя проблема заключается в следующем: я не знаю, как делиться пакетами anaconda с пользователем HTTP-сервера, потому чтоHTTP-сервер выполняет мои сценарии как пользователь «nobody». Как я могу это сделать?

1 Ответ

1 голос
/ 17 мая 2019

РЕШЕНИЕ: Удаление anaconda из домашнего каталога и установка его в usr / local. Таким образом, Apache получит разрешение на доступ к среде.

а) Удалить анаконду с помощью $ rm -rf anaconda3 / б) Переустановите anaconda3 в каталог / usr / local c) Добавьте строку экспорта PATH = '/ usr / local / anaconda3 / bin: $ PATH' в конец файла /root/.bashrc d) Убедитесь, что пользователь root использует правильную версию Python: $ which python

Вот и все

...