Причина, по которой я хочу инструмент CLI в качестве бэкэнда, заключается в том, что он может функционировать как автономное приложение CLI и обрабатывать различные задачи расширения хрома. Можно ли настроить нативного хоста для расширения Chrome, который 1) способен использовать оболочку Pipenv или 2) может получить доступ к приложению Flask и его командам CLI? Мне интересно, может ли сервер понадобиться каким -то образом, но кажется, что запуск/использование его в локальной системе (в отличие от его удаленного размещения) может быть вне вопроса.
Структура проекта:
Код: Выделить всё
\root
\app
\commands
\pdf_group
__init__.py
combine.py
__init__.py
__init__.py
app.py
Pipfile
native_host.py
some_script.py
< /code>
Что я пробовал до сих пор: < /p>
[list]
[*] from app.commands import my_cli_command
Просто попытка импортировать код не удается с тем, что нативный хост не отвечает. Ошибка расширения считывает неконтролируемое время выполнения.
Код: Выделить всё
os.system("/opt/homebrew/bin/pipenv")
Мой локальный терминал дал этот результат строки, для которого Pipenv , поэтому я попробовал это на собственном хосте. Тот же результат. < /P>
< /li>
Код: Выделить всё
subprocess.call("flask pdf combine")< /code>
тот же результат. < /p>
< /li>
import click
тот же результат. Нажмите часть колбы, поэтому я думаю, что сторонняя природа каким-то образом способствует сбое. < /P>
< /li>
Код: Выделить всё
import some_script
тот же результат. Этот сценарий находится на корневом уровне проекта. (
Код: Выделить всё
do()
Код: Выделить всё
os.system("which python")
Результатом вывода была ошибкой 256, указывая на то, что система не может найти путь для них. Все они работали, как и ожидалось. /> Скопируйте путь, который выводится, из которого Python3 < /p>
< /li>
in native_host.py, включите следующее, чтобы запустить приложение. < /p>
< /li>
< /ol>
import os
os.system("/Users/bernadette/.local/share/virtualenvs/convert_and_combine_pdfs-mqF7aRtH/bin/python3 ./some_script.py")
< /code>
Что, казалось, имело значение, было извне (?) Доступ к виртуальной среде. Но, похоже, он не обрабатывает ответа нативного хоста обратно. os.system?
[/list]
Подробнее здесь: https://stackoverflow.com/questions/795 ... ils-to-run