Скрипты, запускаемые из jupyter notebook через !, не принимают аргументы

Я хотел использовать nbscan для поиска по свёрнутым Jupyter блокнотам, но при попытке запуска из ячейки через !nbscan.py -a --lot --of --arguments он выдавал только No files to scan. Я добавил print(args) и print(sys.argv[1:]) в main. Но они показали, что ни один аргумент не передаётся. При этом у меня работают команды вида !echo something в блокноте и py -3.8 nbscan.py --help в консоли. Кто-нибудь знает из-за чего возникла такая проблема? Если что, то всё выше указанное стоит на винде.

Попытка загуглить проблему не дала результатов, не смог даже найти упоминания именно такой проблемы.


Ответы (1 шт):

Автор решения: CrazyElf

Нужно указать ещё сам питон - ведь запускаться должен именно он и ему уже передаются аргументы в виде запускаемого скрипта и его параметров:

!python nbscan.py -a --lot --of --arguments

По поводу дополнительного вопроса о переменных окружения. Вот так можно добавить путь в PATH посредством временной питоновской переменной path:

path = %env PATH
path += ':/something'
%set_env PATH=$path
→ Ссылка