Можно установить пакет Python внутри ячейки кода в блокноте Jupyter (я использую лабораторию Jupyter). Раньше это была команда !pip install (поскольку это была системная команда), но с некоторых пор кажется, что просто pip install тоже работает. Мне не удалось разобраться, всегда ли pip install работает в ячейке кода или иногда !pip install требуется. Кто-нибудь знает?
<продолжение> Google Colab теперь поддерживает это. Для дальнейшего контекста Второй абзац более подробно описывает, почему восклицательный знак может привести к проблемам.





Pip — это волшебная команда в блокноте Jupyter, поэтому ее можно вызвать с помощью
%pip
который должен заменить вызовы !pip во всех местах.
То, что вы наблюдаете, вероятно, является функцией automagic, которая позволяет вам просто написать pip в ячейке без % (или !), и она автоматически вызовет pip для вашего текущего интерпретатора Python (это, конечно, при условии, что нет переменная с именем pip в данный момент установлена, так как она имеет приоритет перед магической командой)
Обратите внимание, что в ядрах IPython по умолчанию включена автоматическая магия, см. документацию:
InteractiveShell.automagicВключить магические команды, которые будут вызываться без ведущего
%.
Тип черты:Bool
По умолчанию:True
Опция CLI:--automagic
Ах. Это немного проясняет ситуацию. Прав ли я, полагая, что функция automagic включена во многих стандартных установках (например, anaconda)? Кажется, у всех учеников в моем классе автоматическая магия включена по умолчанию, но она не включается.
Да, это должно быть включено по умолчанию, я добавил это в свой ответ.
Волшебная версия была добавлена в 2019 году и должна использоваться в наши дни. Он был добавлен, чтобы гарантировать, что установка происходит в среде, где работает ядро, чего команда в сочетании с восклицательным знаком никогда не делала и могла вызвать проблемы. Подробнее о современной команде
%pip installсмотрите здесь. Лучше всего быть явным и использовать символ%, чтобы ваши ученики переняли текущие лучшие практики, которые теперь универсально работают в Jupyter, начиная с JupyterLite и даже...