Форум сайта python.su
Добрый день!
Прошу помощи для новичка в Python.
Задача:
Подключить Google Sheets API по этой инструкции https://developers.google.com/sheets/api/quickstart/python
Его установка происходит следующим образом:
pip install –upgrade google-api-python-client
Через SSH консоль в виртуальном окружении все проходит гладко и скрипт quickstart.py выполняется.
Но как только я деактивирую окружение, скрипт перестает выполняться. Как я понял, он работает только в окружении, и если надо его выполнить, сначала запускается окружение (например, по расписанию), потом исполняется скрипт, окружение деактивируется.
Можно ли как-то упростить этот процесс, чтобы все работало так же просто как с CGI скриптами? Например, как-то установить Google Sheets API стационарно, а не в окружении?
Может вообще можно обойтись без окружения? Судя по его описанию, оно мне вообще не нужно, но саппорт хостинг провайдера сказал, что Google Sheets API нужно ставить только по такой инструкции:
1) Подключиться по SSH;
2) Создать виртуальное окружение;
3) Активировать виртуальное окружение;
4) Произвести необходимые действия;
5) Отключить виртуальное окружение;
Офлайн
У вас нет прав что бы установить в систему питоновский проект - и для хостинга это вполне нормально.
А почему вы не хотите работать в окружении? оно для таких случаев и было придумано (наверняка). И проблем никаких с этим нету.
Офлайн
JOHN_16
У вас нет прав что бы установить в систему питоновский проект - и для хостинга это вполне нормально.А почему вы не хотите работать в окружении? оно для таких случаев и было придумано (наверняка). И проблем никаких с этим нету.
Офлайн
exister
Окружение (если имеется в виду virtualenv) вовсе не обязательно активировать. Просто пишите полный путь до интерпертатора из окружения и работайте с ним.
> /home/my_project/venv/bin/python /home/my_project/site/manage.py runserver
Офлайн
> Может вообще можно обойтись без окружения?
Конечно можно. Например я им вообще не пользуюсь. У меня всё устанавливается в обычную директорию которая переносится вместе с проектом. Директорию конечно же нужно добавить в sys.path
Офлайн
Спасибо, парни, что нашли время вникнуть в мой вопрос!
FishHook
existerОкружение (если имеется в виду virtualenv) вовсе не обязательно активировать. Просто пишите полный путь до интерпертатора из окружения и работайте с ним.
Rodegast
> Может вообще можно обойтись без окружения?Конечно можно. Например я им вообще не пользуюсь. У меня всё устанавливается в обычную директорию которая переносится вместе с проектом. Директорию конечно же нужно добавить в sys.path
1) Использовать виртуальное окружение для запуска данных скриптов;
2) Использовать услугу VDS. Покупается отдельно
Процесс работы с виртуальным окружением сводится к следующему:
1) Запуск виртуального окружения;
2) Выполнение скрипта;
3) Завершение работы виртуального окружения.
Т.е. при обращении к необходимому скрипту выполняется запуск виртуального окружения, а после выполнения скрипта виртуальное соединение закрывается. Это стандартный механизм работы в данной ситуации.
Отредактировано exister (Авг. 8, 2017 15:21:41)
Офлайн
> Звучит круто, но, наверное, на моем хостинге (sweb.ru) это не прокатит.
1) Создаёшь на локалке папочку “paket”
2) Заходишь в эту папочку и командуешь:
pip install google-api-python-client -t ./
import sys sys.path.insert(0, "путь к папке paket")
Офлайн
Rodegast
> Звучит круто, но, наверное, на моем хостинге (sweb.ru) это не прокатит.1) Создаёшь на локалке папочку “paket”2) Заходишь в эту папочку и командуешь:
Офлайн
existerПотому что оно не считается хорошим. Поэтому его оч мало кто советует. В вашем конкретно случае это кончено сработает, потому как у вас там все достаточно примитивнентко. Но в более сложных проектах совсем все по другому. Но и подобный хостинг там маловероятно что используется.
Не понимаю только почему за три дня переписки с саппортом мне никто не посоветовал такое же решение…
Офлайн
JOHN_16Да, мне надо всего-то в таблицу гугловскую данные записать. Это, конечно, не про серьезный проект задача.
Офлайн