Внутри Jupyter Notebook мне удалось установить ядро Python с
!python -m ipykernel install --user --name other-env --display-name "Python (other-env)"
как сообщалось здесь и доступно с другими ядрами в меню Ядро → Изменить ядро и
!jupyter kernelspec list
также покажет их
Available kernels:
avenv C:\Users\Full Name\AppData\Roaming\jupyter\kernels\avenv
chatterbot C:\Users\Full Name\AppData\Roaming\jupyter\kernels\chatterbot
othervenv C:\Users\Full Name\AppData\Roaming\jupyter\kernels\othervenv
python3 C:\Users\Full Name\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\share\jupyter\kernels\python3
Затем я пытаюсь установить пакет Python, используя
%pip install a_package
как дано здесь что сказано
с % (вместо !) он установит
a_package
в текущее ядро (а не в экземпляр Python, который запустил блокнот).
Но что у меня есть, так это то, что он устанавливает a_package
во все ядра, или %pip list
будет перечислять одни и те же установленные пакеты во всех ядрах.
Есть ли способ установить пакет Python только для активного ядра Jupyter Notebook?
🤔 А знаете ли вы, что...
Python поддерживает динамическую типизацию, что облегчает разработку.
Вот что я использовал, чтобы преодолеть эту проблему
import sys
!{sys.executable} -m pip install a_package
Путь к исполняемому файлу python в файле JSON ядра Jupyter должен указывать на исполняемый файл python в соответствующей виртуальной среде.
После некоторых попыток шаги можно резюмировать следующим образом.
c:\venvs\butiran
)PS C:\> python -m venv c:\venvs\butiran
butiran
в venvs
(папка для всех виртуальных сред)PS C:\> cd venvs\butiran
PS C:\venvs\butiran>
PS C:\venvs\butiran> Scripts\activate
(butiran) PS C:\venvs\butiran>
pip
как в здесь(butiran) PS C:\venvs\butiran> python -m pip install --upgrade pip
ipykernel
как в здесь(butiran) PS C:\venvs\butiran> pip install ipykernel
(butiran) PS C:\venvs\butiran> deactivate
PS C:\venvs\butiran>
ipykernel
для Jupyter Notebook как в здесьPS C:\venvs\butiran> python -m ipykernel install --user --name butiran --display-name "Python (butiran)"
Installed kernelspec butiran in C:\Users\Full Name\AppData\Roaming\jupyter\kernels\butiran
PS C:\venvs\butiran>
PS C:\venvs\butiran> cat "C:\Users\Full Name\AppData\Roaming\jupyter\kernels\butiran\kernel.json"
{
"argv": [
"C:\\Users\\Full Name\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\python.exe",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python (butiran)",
"language": "python",
"metadata": {
"debugger": true
}
}
PS C:\venvs\butiran>
python.exe
C:\\Users\\Full Name\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\python.exe
C:\\venvs\\butiran\\Scripts\\python.exe
PS C:\> jupyter notebook
Откройте существующий блокнот или создайте новый.
Сменить ядро из меню Ядро → Сменить ядро → Python (бутиран).
Установите a_package
, используя только активное ядро
%pip install a_package
или с
import sys
!{sys.executable} -m pip install a_package
!pip show a_package
дам
WARNING: Package(s) not found: a_package
пока покажите пакет в активном ядре
%pip show a_package
дам
Name: a_package
Version: ..
Summary: ..
..
Location: c:\venvs\butiran\lib\site-packages