command line

Как проверить,установлен ли модуль в Python,и установить его при необходимости

В терминале,после запуска Python,как я узнаю,какие модули присутствуют в python? Предположим,мне нужно изучить модули NumPy и SciPy.

  • Как я установлю его,если он не установлен?
  • Как я узнаю,установлен ли он уже?




Как узнать, установлен ли модуль python в системе: вы можете сделать очень простой тест в терминале,

$ python -c "import math"
$ echo $?
0                                # математический модуль существует в системе

$ python -c "import numpy"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named numpy
$ echo $?
1                                # модуль numpy не существует в системе

Как мне установить его,если он не установлен

Вы можете установить определенный модуль, загрузив соответствующие пакеты из репозитория, например, вы можете установить scipy как,

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

В качестве альтернативы вы также можете установить модуль python, используя python-pip , как это было предложено Заком Титаном в комментарии ниже . Чтобы установить numpy , вы можете использовать

pip install numpy

Предупреждение: настоятельно рекомендуется устанавливать python-модули только с использованием официального репозитория Ubuntu и не использовать метод pip от именисуперпользователя (т. е. от имени пользователя root или с использованием sudo ). В некоторых случаях это может сделать вашу систему непригодной для использования, сломав системный python.

Как установить пакеты с помощью pip в локальную виртуальную среду.




В случае, если мы не хотим нежелательно импортировать рассматриваемый модуль (что произойдет в операторе try ), мы можем использовать sys.modules для тестирования модулей, которые были установлены и импортированы ранее.

В выпуске оболочки python:

>>> import sys

Затем проверьте наличие установленных модулей:

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False

Обратите внимание, что только те модули, которые были импортированы ранее, дают True в этом тесте, все остальные модули (даже если они установлены) дают False.

Другой альтернативой использованию try import в консоли Python является вызов встроенной функции help() . Это не даст документации для неустановленных модулей, например

>>> help('scipy')
no Python documentation found for 'scipy'

Вывод очень длинных справочных документов установленных модулей можно прервать с помощью кнопкиQ.

Теперь для установки отсутствующих модулей рекомендуется использовать управление пакетами Ubuntu (а не путь пипа Python), потому что нам нужен root-доступ, а также чтобы не испортить нашу систему, сильно зависящую от Python. Для рассматриваемого модуля это будет, например:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

После установки мы можем добавить их в словарь sys.modules , импортировав их один раз.



Есть ли способ создать несколько каталогов одновременно с помощью mkdir
Быстрый инструмент для создания видеогалерей с эскизами для командной строки
Как получить URL из вкладки Firefox в терминале с помощью командной строки
Настройка команды env для сценариев bash
Как я могу компилировать,запускать и декомпилировать код C#в терминале Ubuntu
когда вы входите в оболочку,какая программа обрабатывает оценку учетных данных