Как я могу увидеть все установленные Python модули в Jupyter Lab (например, pip freeze) с Python 3.7 или новее? - PullRequest
0 голосов
/ 31 января 2020

Я ищу способ получить список из всех установленных / импортируемых python модулей из ноутбука Jupyterlab.

Из Командную строку, я могу получить список, запустив

py -3 -m pip freeze

(или)

pip freeze

В консоли Jupyterlab, запуск pip freeze возвращает

The following command must be run outside of the IPython shell:

    $ pip freeze

The Python package manager (pip) can only be used from outside of IPython.
Please reissue the `pip` command in a separate terminal or command prompt.

See the Python documentation for more information on how to install packages:

https://docs.python.org/3/installing/

For в старых версиях pip можно было импортировать pip и получать список из записной книжки.

Команда была

help('modules')

Теперь выдается предупреждение и ничего не возвращается.

c:\python37\lib\site-packages\IPython\kernel\__init__.py:13: ShimWarning: The `IPython.kernel` package has been deprecated since IPython 4.0.You should import from ipykernel or jupyter_client instead.
  "You should import from ipykernel or jupyter_client instead.", ShimWarning)

10-летние решения stackoverflow, такие как Как получить список локально установленных модулей Python? также больше не работают.

Есть ли правильный способ сделать это (без использования хака подпроцесса или запуска pip в качестве внешней программы, такой как "! pip")

Ответы [ 4 ]

1 голос
/ 31 января 2020

Вы также можете попробовать

!pip freeze

в своем ноутбуке Jupyter. Надеюсь, это поможет вам.

0 голосов
/ 31 января 2020
import pip._internal.operations.freeze
_ = pip._internal.operations.freeze.get_installed_distributions()
print(sorted(["%s==%s" % (i.key, i.version) for i in _])[:10])
['absl-py==0.7.1',
 'aiml==0.9.2',
 'aio-utils==0.0.1',
 'aiocache==0.10.1',
 'aiocontextvars==0.2.2',
 'aiocqhttp==0.6.7',
 'aiodns==2.0.0',
 'aiofiles==0.4.0',
 'aiohttp-proxy==0.1.1',
 'aiohttp==3.6.2']

Это работает в Win10 с Python 3.6 и 3.7 (i python, pip. версия : '20 .0.1 ') как минимум. Я взглянул на исходный код в Lib \ site-packages \ pip.

0 голосов
/ 31 января 2020

Попробуйте это:


help("modules")


....

0 голосов
/ 31 января 2020

Вы можете запустить следующий фрагмент к результату.

!pip list
...