Как установить модуль python: Установка модулей в Python
Установка модулей в Python
Когда вы в первый раз начинаете работу в качестве программиста в Python, вы, скорее всего, не задумываетесь о том, как именно вам нужно установить внешний пакет или модуль. Но когда эта нужда возникает, вам захочется сделать это как можно быстрее! Пакеты Python можно легко найти в интернете. Большая часть популярных пакетов может быть найдена в PyPI (Python Package Index). Также множество пакетов Python можно найти на github, и bitbucket, а также в Google Code. В данной статье мы рассмотрим следующие методы установки пакетов Python:
- Установка из источника
- easy_install
- pip
- Другие способы
Установка из источника
Это отличный навык, которому стоит научиться. Существуют более простые способы, которые мы рассмотрим позже в этой статье. Тем не менее, существует ряд пакетов, которые нужно установить именно этим способом. Например, чтобы использовать easy_install, вам сначала нужно установить setuptools. Чтобы сделать это, вам нужно скачать tar или zip файл с PyPI (https://pypi.python.org/pypi/setuptools), и извлечь его в вашей системе. Далее, обратите внимание на файл setup.py. Откройте сессию терминала и измените каталог на папку, содержащую файл setup. После этого запустите следующую команду:
Если Python не расположен в пути вашей системы, вы получите сообщение об ошибке, указывающее на то, что команда не была найдена, или приложение неизвестно. Вы также можете вызвать эту команду, применив весь путь к Python. Для пользователей Windows это выглядит так:
c:\python34\python.exe setup.py install
| c:\python34\python.exe setup.py install |
Этот метод особенно удобен, если у вас несколько установленных версий Python и вам нужно установить пакет на разные версии. Все что вам нужно, это указать полный путь к конкретной версии Python и установить пакет. Некоторые пакеты содержат в себе С код, например, заглавные файлы С, которые должны быть скомпилированы под пакет для корректной установки. В случае с Linux, у вас должен быть установленный C/C++ компилятор, так что вы можете установить пакет без головной боли. Возвращаясь к Windows, вам нужна правильная версия Visual Studio, для корректной компиляции пакета. Некоторые люди упоминают также и MingW, который можно использовать для этих целей, но я не знаю, как сделать так, чтобы это работало. Если в пакете присутствует установщик Windows, используйте его. В таком случае вы можете забыть о компиляции в принципе.
Применение easy_install
После установки setuptools, вы можете использовать easy_install. Вы можете найти его в папке с установочными скриптами Python. Не забудьте добавить папку со скриптами в путь вашей системы, чтобы вы в дальнейшем смогли вызывать easy_install в командной строке, без указания его полного пути. Попробуйте выполнить запустить следующую команду, чтобы узнать больше об опциях easy_install:
Если вам нужно начать установку пакета при помощи easy_install, вам нужно сделать следующее:
easy_install package_name
| easy_install package_name |
easy_install попытается скачать пакет с PyPI, скомпилировать его (если нужно) и установить его. Если вы зайдете в свою директорию site-packages, вы найдете файл под названием easy-install.pth, который содержит доступ ко всем пакетам, установленным через easy_install. Python использует этот файл, чтобы помочь в импорте модуля или пакета. Вы также можете указать easy_install на установку через URL или через путь на вашем компьютере. easy_install также может выполнить установку прямиком из файла tar. Вы можете использовать easy_install для обновления пакета, воспользовавшись функцией upgrade (или–U). И наконец, вы можете использовать easy_install для установки файла egg файлов. Вы можете найти эти файлы в PyPI, или в других источниках. Файлы egg – это особые zip файлы. На самом деле, если вы измените расширение на .zip, вы можете разархивировать файл egg.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
Вот несколько примеров:
easy_install -U SQLAlchemy
easy_install http://example.com/path/to/MyPackage-1.2.3.tgz
easy_install /path/to/downloaded/package
| easy_install -U SQLAlchemy easy_install http://example.com/path/to/MyPackage-1.2.3.tgz easy_install /path/to/downloaded/package |
Существует несколько проблем с easy_install. Он может попробовать установить пакет, пока он еще загружается. При помощи easy_install нельзя деинсталлировать пакет. Вам придется удалить пакет вручную и обновить файл easy-install.pth, удалив доступ к пакету. По этой, и многим другим причинам, в сообществе Python создали pip.
Использование pip
Программа pip вышла вместе с Python 3.4. Если у вас старая версия Python, вам нужно установить pip вручную. Установка pip немного отличается от того, что мы обсуждали ранее. Вам нужно зайти в PyPI, но вместо того, чтобы скачать пакет и запустить его скрипт setup.py, вам предложат скачать один скрипт под названием get-pip.py. После этого, вам нужно будет выполнить его следующим образом:
Таким образом setuptools (или какая-либо альтернатива setuptools) будет установлена, если вы не сделали этого ранее. Также будет установлен и pip. Он работает с версиями CPython 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 и с pypy. Вы можете использовать pip для установки всего, что может установить easy_install, но сам процесс несколько отличается. Чтобы установить пакет, выполните следующее:
А для обновления пакета, вам нужно сделать это:
pip install -U PackageName
| pip install -U PackageName |
Вам может понадобиться вызвать –h, чтобы получить полный список всего, что pip может сделать. В отличие от easy_install, pip может устанавливать формат wheel. Формат wheel – это ZIP архив, с именем файла, имеющим особый формат, и расширением. Whl. Вы также можете установить wheel, при помощи его собственной командной строки. С другой стороны, pip не может выполнять установку файлов egg. Если вам нужно установить egg, вам придется воспользоваться easy_install.
Кое-что о зависимостях
Преимущества в использовании easy_install и pip в том, что если пакет имеет зависимости от скрипта setup.py, то и easy_install, и pip попытаются установить и скачать этот скрипт. Это поможет вам избежать головной боли в той ситуации, когда вы пробуете новый пакет, и еще не понимаете, что пакет A зависит от пакетов B, C и D. При помощи easy_install или pip, вам не нужно об этом беспокоиться вообще.
Подведем итоги
С этого момента, вы можете использовать любой пакет, который вам может понадобиться, конечно, если этот пакет поддерживается вашей версией Python. Существует множество инструментов, доступных программисту Python. Пока что пакеты – достаточно запутанная тема, тем не менее, вы знаете, как использовать необходимые инструменты, которые вы можете легко и быстро получить, для установки необходимого пакета.
Как устанавливать пакеты в Python — с PIP и без | GeekBrains
Что представляют собой пакеты и модули, откуда их брать и что с ними делать.
https://d2xzmw6cctk25h.cloudfront.net/post/1340/og_cover_image/a9b1c9e84cf2c603aa80f227403c4177
Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.
C одной стороны, пакеты Python — это Py-приложения, дополнения или утилиты, которые можно установить из внешнего репозитория: Github, Bitbucket, Google Code или официального Python Package Index. На сервере пакеты хранятся в .zip и .tar архивах, либо в дополнительной упаковке — «яйцах» (.egg, старый формат) или «колесах» (.whl). В составе пакета, как правило, есть сценарий установки setup.py, который хранит сведения о зависимостях — других пакетах и модулях, без которых пакет работать не будет.
С другой стороны, если речь об архитектуре Python-приложения, пакет — это каталог, внутри которого файл __init__.py и, опционально, другие каталоги и файлы .py. Так большую Python-программу разбивают на пакеты и модули. Модуль — файл с исходным кодом, который можно использовать в других приложениях: как «заготовку» для будущих проектов или как часть библиотеки/фреймворка. Но к теме статьи это прямого отношения не имеет, поэтому дальше мы будем говорить только о пакетах из репозиториев.
Чтобы за секунды устанавливать пакеты со всеми зависимостями, используют менеджер пакетов pip или модуль easy_install. В большинстве случаев рекомендуется использовать pip. И только если у вас есть инфраструктура на пакетах .egg, которые pip не открывает, нужен easy_install.
Установка PIP для Python 3 и 2
Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:
-
C помощью скрипта get_pip.py — быстро.
-
Через setuptools — кроме pip сможем использовать easy_install.
Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>»cmd»>OK и пишем:
python get_pip.py
Остальное установщик сделает сам: если нужно, попутно установит wheel (для распаковки .whl-колес) и setuptools. Чтобы запретить инсталляцию дополнительных инструментов, можно добавить в строку ключи —no-setuptools и/или —no-wheels.
Если возникает ошибка, путь к Python не прописан в переменной среды $PATH. Нужно либо найти эту переменную в системном реестре и задать её значение, либо каждый раз указывать полный путь до python.exe, а за ним уже имя исполняемого Py-файла:
C:/python32/python.exe get_pip.py
Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.
Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:
python setup.py install
Обновить pip для Python в Windows можно так:python pip install -U pip
Если это не работает, нужно добавить путь к папке с pip в $PATH.
Установка пакета в pip
Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:
pip install имя_пакета
При установке в Windows, перед pip нужно добавить «python -m».
Обновить пакет не сложнее:
pip install имя_пакета -U
Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:
pip install --force-reinstall
Посмотреть список установленных пакетов Python можно с помощью команды:
pip list
Найти конкретный пакет по имени можно командой «pip search». О других командах можно прочесть в справке, которая выдается по команде «pip help».
Удаление пакета Python
Когда пакет больше не нужен, пишем:
pip uninstall имя_пакета
Как установить пакеты в Python без pip
Формат .egg сейчас используют не часто, поэтому pip его не поддерживает. Модуль easy_install умеет устанавливать как .egg, так и обычные пакеты, но есть у него важные минусы:
-
он не удаляет пакеты,
-
он может пытаться установить недозагруженный пакет.
Использовать easy_install можно сразу после установки setuptools. Хранится модуль в папке Scripts вашего интерпретатора. Если у вас в $PATH верно прописан путь, ставить пакеты из PYPI можно короткой командой:
easy_install имя_пакета
Для обновления после install и перед именем пакета нужно ставить ключ -U. Откатиться до нужной версии можно так:
easy_install имя_пакета=0.2.3
Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:
easy_install http://адрес_репозитория.ру/директория/пакет-1.1.2.zip
Чтобы узнать об опциях easy_install, запустим его с ключом -h:
easy_install -h
Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.
К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.
Теперь вы умеете ставить и удалять пакеты для вашей версии Python.
Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.
ручная установка модулей на примере Psutil
Поиск модуля в Python
Проверяем установлен ли модуль.
Для этого воспользуемся встроенным модулем imp
и его функцией find_module
:
$ pydoc imp.find_module .. imp.find_module = find_module(...) find_module(name, [path]) -> (file, filename, (suffix, mode, type)) Search for a module. If path is omitted or None, search for a built-in, frozen or special module and continue search in sys.path. The module name cannot contain '.'; to search for a submodule of a package, pass the submodule name and the package's __path__.
Создадим файл psutiltest.py
с таким содержимым:
#!/usr/bin/env python import imp mod = 'psutil' try: imp.find_module(mod) print 'nModule %s found.n' % (mod) except ImportError: print 'nERROR: can't find module %s!n' % (mod)
Запускаем:
$ ./psutiltest.py ERROR: can't find module psutil!
Хорошо, модуль не найден.
Для начала — проверим какие пути к библиотекам у нас используются. Для этого — используем модуль sys
и его функцию path
.
Добавляем в файл:
import sys print sys.path[1:]
Убираем из вывода элемент списка с индексом 0, т.к. в документации говорится, что:
As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter.
Запускаем скрипт — и получаем список директорий, в которых интерпретатор будет искать библиотеки модулей:
$ ./psutiltest.py ERROR: can't find module pynetstat! ['/usr/local/lib/python2.7/site-packages/Sphinx-1.2.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/Babel-1.3-py2.7.egg', '/usr/home/setevoy/scripts/python', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-freebsd9', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
Установка модуля Python с помощью опции —preifx
Создаём свою директорию, в которую будем устанавливать новый модуль:
$ mkdir /home/setevoy/scripts/python/mylibs
Если нет переменной PYTHONPATH
— то создаём её в неё добавляем наш новый каталог:
$ cat ~/.bashrc | grep PYTHONPATH export PYTHONPATH="/home/setevoy/scripts/python/mylibs/lib/python2.7/site-packages/"
Перечитаем его:
$ . ~/.bashrc
Теперь — можно приступать к установке модуля.
Переходим в любой каталог, и загружаем архив:
$ cd ~/tmp/
$ wget --no-check-certificate https://pypi.python.org/packages/source/p/psutil/psutil-2.1.1.tar.gz --2014-05-05 18:41:30-- https://pypi.python.org/packages/source/p/psutil/psutil-2.1.1.tar.gz Resolving pypi.python.org (pypi.python.org)... 185.31.16.175 ... Saving to: 'psutil-2.1.1.tar.gz' 100%[============================================================================================================================================1.00MB/s in 0.2s 2014-05-05 18:41:31 (1.00 MB/s) - 'psutil-2.1.1.tar.gz' saved [216796/216796]
Распаковываем:
$ tar xfp psutil-2.1.1.tar.gz
$ ls -l total 216 drwxrwxr-x 7 setevoy setevoy 512 Apr 30 17:26 psutil-2.1.1 -rw-r--r-- 1 setevoy setevoy 216796 Apr 30 17:27 psutil-2.1.1.tar.gz
$ cd psutil-2.1.1
$ ls -l total 124 -rw-rw-r-- 1 setevoy setevoy 3793 Apr 29 22:17 CREDITS -rw-rw-r-- 1 setevoy setevoy 32402 Apr 30 17:26 HISTORY -rw-r--r-- 1 setevoy setevoy 1584 Apr 17 10:49 LICENSE -rw-r--r-- 1 setevoy setevoy 308 Apr 8 03:03 MANIFEST.in -rw-r--r-- 1 setevoy setevoy 1944 Apr 16 14:37 Makefile -rw-rw-r-- 1 setevoy setevoy 14092 Apr 30 17:26 PKG-INFO -rw-r--r-- 1 setevoy setevoy 9445 Apr 17 10:32 README -rw-r--r-- 1 setevoy setevoy 4843 Apr 21 20:19 TODO drwxrwxr-x 5 setevoy setevoy 512 Apr 30 17:26 docs drwxrwxr-x 2 setevoy setevoy 512 Apr 30 17:26 examples -rw-r--r-- 1 setevoy setevoy 5797 Apr 8 03:03 make.bat drwxrwxr-x 3 setevoy setevoy 1024 Apr 30 17:26 psutil drwxrwxr-x 2 setevoy setevoy 512 Apr 30 17:26 psutil.egg-info -rw-rw-r-- 1 setevoy setevoy 59 Apr 30 17:26 setup.cfg -rw-r--r-- 1 setevoy setevoy 6541 Apr 9 01:17 setup.py drwxrwxr-x 2 setevoy setevoy 512 Apr 30 17:26 test
И запускаем установку, с помощью --prefix
указав директорию, в которую будем устанавливать:
$ python setup.py install --prefix=/home/setevoy/scripts/python/mylibs
Редактируем наш файл — добавляем вызов psutil
:
#!/usr/bin/env python import psutil print psutil.cpu_times()
Запускаем:
$ ./psutiltest.py scputimes(user=269034.5234375, nice=240.390625, system=100019.34375, idle=7668215.40625, irq=38178.0625)
Установка модуля Python с помощью опции —user
По умолчанию для пользователя пусть для установки модулей задан как директория .local
в его домашней директории.
Проверить это можно с помощью модуля site
и функций getuserbase()
и getusersitepackages()
.
Изменим наш скрипт, добавим в него вызовы этих функций:
#!/usr/bin/env python import site print site.getuserbase() print site.getusersitepackages()
Запускаем:
$ ./psutiltest.py /home/setevoy/.local /home/setevoy/.local/lib/python2.7/site-packages
Теперь можно запускать установку с помощью опции --user
:
$ python setup.py install --user ... Installed /usr/home/setevoy/.local/lib/python2.7/site-packages/psutil-2.1.1-py2.7-freebsd-9.0-RELEASE-p3-i386.egg Processing dependencies for psutil==2.1.1 Finished processing dependencies for psutil==2.1.1
Готово.
Возможностей в Psutil много, смотрите документацию тут>>>.
И не забываем про возможно установки с помощью утилит типа pip — Python: утилита pip для установки пакетов из PyPI.
Ссылки по теме
https://docs.python.org
https://docs.python.org
Python. Урок 16. Установка пакетов в Python
В процессе разработки программного обеспечения на Python часто возникает необходимость воспользоваться пакетом, который в данный момент отсутствует на вашем компьютере. О том, откуда взять нужный вам пакет и как его установить, вы узнаете из этого урока.
Где взять отсутствующий пакет?
Необходимость в установке дополнительного пакета возникнет очень быстро, если вы решите поработать над задачей, за рамками базового функционала, который предоставляет Python. Например: работа с web, обработка изображений, криптография и т.п. В этом случае, необходимо узнать, какой пакет содержит функционал, который вам необходим, найти его, скачать, разместить в нужном каталоге и начать использовать. Все эти действия можно сделать вручную, но этот процесс поддается автоматизации. К тому же скачивать пакеты с неизвестных сайтов может быть довольно опасно.
К счастью для нас, в рамках Python, все эти задачи решены. Существует так называемый Python Package Index (PyPI) – это репозиторий, открытый для всех Python разработчиков, в нем вы можете найти пакеты для решения практически любых задач. Там также есть возможность выкладывать свои пакеты. Для скачивания и установки используется специальная утилита, которая называется pip.
Менеджер пакетов в Python – pip
Pip – это консольная утилита (без графического интерфейса). После того, как вы ее скачаете и установите, она пропишется в PATH и будет доступна для использования.
Эту утилиту можно запускать как самостоятельно:
> pip <аргументы>
так и через интерпретатор Python:
> python -m pip <аргументы>
Ключ -m означает, что мы хотим запустить модуль (в данном случае pip). Более подробно о том, как использовать pip, вы сможете прочитать ниже.
Установка pip
При развертывании современной версии Python (начиная с Python 2.7.9 и Python 3.4),
pip устанавливается автоматически. Но если, по какой-то причине, pip не установлен на вашем ПК, то сделать это можно вручную. Существует несколько способов.
Универсальный способ
Будем считать, что Python у вас уже установлен, теперь необходимо установить pip. Для того, чтобы это сделать, скачайте скрипт get-pip.py
> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
и выполните его.
> python get-pip.py
При этом, вместе с pip будут установлены setuptools и wheels. Setuptools – это набор инструментов для построения пакетов Python. Wheels – это формат дистрибутива для пакета Python. Обсуждение этих составляющих выходит за рамки урока, поэтому мы не будем на них останавливаться.
Способ для Linux
Если вы используете Linux, то для установки pip можно воспользоваться имеющимся в вашем дистрибутиве пакетным менеджером. Ниже будут перечислены команды для ряда Linux систем, запускающие установку pip (будем рассматривать только Python 3, т.к. Python 2 уже морально устарел, а его поддержка и развитие будут прекращены после 2020 года).
Fedora
Fedora 21:
> sudo yum install python3 python3-wheel
Fedora 22:
> sudo dnf install python3 python3-wheel
openSUSE
> sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu
> sudo apt install python3-venv python3-pip
Arch Linux
> sudo pacman -S python-pip
Обновление pip
Если вы работаете с Linux, то для обновления pip запустите следующую команду.
> pip install -U pip
Для Windows команда будет следующей:
> python -m pip install -U pip
Использование pip
Далее рассмотрим основные варианты использования pip: установка пакетов, удаление и обновление пакетов.
Установка пакета
Pip позволяет установить самую последнюю версию пакета, конкретную версию или воспользоваться логическим выражением, через которое можно определить, что вам, например, нужна версия не ниже указанной. Также есть поддержка установки пакетов из репозитория. Рассмотрим, как использовать эти варианты.
Установка последней версии пакета
> pip install ProjectName
Установка определенной версии
> pip install ProjectName==3.2
Установка пакета с версией не ниже 3.1
> pip install ProjectName>=3.1
Установка Python пакета из git репозитория
> pip install -e git+https://gitrepo.com/ProjectName.git
Установка из альтернативного индекса
> pip install --index-url http://pypackage.com/ ProjectName
Установка пакета из локальной директории
> pip install ./dist/ProjectName.tar.gz
Удаление пакета
Для того, чтобы удалить пакет воспользуйтесь командой
> pip uninstall ProjectName
Обновление пакетов
Для обновления пакета используйте ключ –upgrade.
> pip install --upgrade ProjectName
Просмотр установленных пакетов
Для вывода списка всех установленных пакетов применяется команда pip list.
> pip list
Если вы хотите получить более подробную информацию о конкретном пакете, то используйте аргумент show.
> pip show ProjectName
Поиск пакета в репозитории
Если вы не знаете точное название пакета, или хотите посмотреть на пакеты, содержащие конкретное слово, то вы можете это сделать, используя аргумент search.
> pip search "test"
Где ещё можно прочитать про работу с pip?
В сети довольно много информации по работе с данной утилитой.
Python Packaging User Guide – набор различных руководств по работе с пакетами в Python
Документация по pip.
Статья на Geekbrains.
P.S.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
<<< Python. Урок 15. Итераторы и генераторы Python. Урок 17. Виртуальные окружения>>>
Устанавливаем python-пакеты с помощью pip
pip — это система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.
Установка pip
Прежде чем с помощью pip устанавливать python-пакеты, нужно сначала установить сам pip.
Python 3.4+
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором python.
Python <3.4
Официальная инструкция ( https://pip.pypa.io/en/latest/installing.html ):
- Загрузить get-pip.py (обязательно сохранив с расширением .py).
- Запустить этот файл (могут потребоваться права администратора).
Есть ещё один способ (для Windows). Возможно, он является более предпочтительным:
Начало работы
Попробуем с помощью pip установить какой-нибудь пакет, например, numpy:
Linux:
sudo pip3 install numpy
На Windows:
pip3 install numpy
Может не сработать, написав: «python» не является внутренней или внешней командой, исполняемой программой или пакетным файлом (такого, скорее всего, не должно быть при установке pip вторым способом, но проверить не на чем).
Тогда нужно обращаться напрямую:
C:\Python34\Tools\Scripts\pip3.exe install numpy
Либо добавлять папку C:\Python34\Tools\Scripts\ в PATH вручную (самому проверить не на чем, можете посмотреть на stackoverflow. У кого получится — напишите в комментарии).
Что ещё умеет делать pip
Пробежимся по основным командам pip:
pip help — помощь по доступным командам.
pip install package_name — установка пакета(ов).
pip uninstall package_name — удаление пакета(ов).
pip list — список установленных пакетов.
pip show package_name — показывает информацию об установленном пакете.
pip search — поиск пакетов по имени.
pip —proxy user:[email protected]:port — использование с прокси.
pip install -U — обновление пакета(ов).
pip install —force-reinstall — при обновлении, переустановить пакет, даже если он последней версии.
для своих и из другой папки
Язык программирования Python имеет много встроенных функций. Однако их не хватает для решения всех видов задач, поэтому программисты добавляют инструменты, подключая модули.
Что такое модуль
Это отдельный файл, содержащий какой-то код. Любой скрипт, написанный программистом на Python 3, можно назвать модулем. Он может быть как исполняемым, так и подключаемым. Исполняемый модуль содержит код, который самостоятельно выполняет какие-то действия, а подключаемый представляет из себя набор функций, классов и объектов, которые можно использовать для решения задач в другой программе.
Разделение программ на модули даёт ряд преимуществ:
- Программа имеет понятную структуру, что позволяет программисту легко ориентироваться в тысячах строк кода.
- Позволяют использовать одни и те же имена для функций, то есть не допускают пересечений имён.
- Программисту не нужно загружать скрипт большим количеством функций, большая часть которых не используется, достаточно подключить только нужные модули или их части.
Исполняемый и подключаемый модуль
Можно написать такой скрипт, который будет и выполнять какие-то действия (программа), и импортироваться в другие модули (библиотека).
Его важно правильно оформить:
- Весь исполняемый код помещается в функцию
main()
. - Функция
main()
вызывается после условия:if __name__ == '__main__': main()
В этом случае интерпретатор Python не будет запускать код, вложенный в условие, но все функции библиотеки можно будет использовать.
Подключение модуля
Это можно сделать разными способами, выбор зависит только от нужд и желаний программиста.
Модули в Python — это файлы с расширением “.py”. При импорте расширение опускается, интерпретатор и так знает, что после команды import следует имя модуля.
Программист может без проблем подключить любой модуль, который есть в стандартной библиотеке Python 3. Для подключения специфичных пользовательских инструментов сначала нужно их скачать. Обычно для этого используется пакетный менеджер pip.
Обычное подключение — import
Подключать модули желательно в самом вверху скрипта, используя ключевое слово “import”, например import random
.
После подключения программа получает доступ ко всем функциям, методам и классам, содержащимся в нём.
Программист может вызвать любую функцию из подключенной библиотеки используя префикс “имя_модуля.
“. Пример: random.randint(1,15)
где random
— это библиотека, которую мы подключили, а randint
— имя функции, которая в ней описана.
Этот способ не допускает пересечения имён, то есть программист может использовать одно и то же имя функции в скрипте, точно такое же, как и в подключаемой библиотеке и не бояться, что после её подключения, функция будет переопределена.
Вот полный пример использования инструкции import в Python 3:
import random a = random.randint(1, 15) print(a)
Использование псевдонимов — as
Некоторые модули имеют длинное и неудобное название. Для удобства и сокращения количества кода программист может заменить его на своё.
Например, если написать “import random as rand
“, то вместо длинного random
для обращения к функциям библиотеки можно будет использовать короткое rand
.
Импорт компонентов — from
Чтобы не захламлять программу большим количеством неиспользуемых инструментов, можно подключать не весь модуль, а какую-то его часть.
Например, программист хочет использовать только одну функцию из математической библиотеки math
. Если он подключит всю библиотеку, то в скрипт добавится более 40 функций, которые будут занимать место. Чтобы добавить в проект какую-то часть, используют ключевое слово from
:
from <имя подключаемого модуля> import <название функции>
Таким образом, основной скрипт получает доступ только к определённой функции. Кроме того, при таком подключении при вызове функций из подключённого модуля не используется префикс. Важно не забывать об этом, чтобы не допустить конфликта имён.
Можно подключить несколько функций сразу в одной строке. Для этого их надо перечислить через запятую.
Если после import написать символ звёздочки “*”, подключится все содержимое модуля. Это считается плохим тоном, потому что может привести к совпадению имён из основного скрипта с именами из подключаемого. Но если программист уверен, что использовал уникальные названия для функций и переменных, теоретически он может использовать этот способ.
Перезагрузка библиотеки
За один сеанс модуль можно импортировать только один раз. Если программист после импорта, изменит в файле, который импортировал что-либо, а потом снова его импортирует, основная программа не будет видеть этих изменений.
Всё потому, что при импорте библиотека кешируется, когда её пытаются импортировать снова, интерпретатор Python просто использует сохранённую в кэше копию.
Пример:
import my_name, time print(my_name.name) # Выведет Сергей time.sleep(10) # пауза во время которой изменяем # значение name в файле my_name.py # с Сергей на Александр import my_name print(my_name.name) # Выведет Сергей
Если всё же необходимо перезагрузить модуль, на помощью приходит функция reload()
из стандартной библиотеки importlib. Перезагрузка не влияет на объекты, ссылающиеся на импортированный модуль, и позволяет реализовать динамическую перезагрузку компонентов программы.
Вот пример:
from importlib import reload import my_name, time print(my_name.name) # Выведет Сергей time.sleep(10)# меняем значение с Сергей на Александр my_name = reload(my_name) print(my_name.name) # Выведет Александр
Подключение из другой папки
Библиотеки подключаются очень просто, когда интерпретатор Python знает, где их искать. Python ищет модули:
- В папке исполняемого скрипта.
- Во встроенных модулях (built-in).
- В директориях, определённых в sys.path (также содержит переменную PYTHONPATH).
Чтобы импортировать модуль из другой папки в Python 3, можно сделать следующее:
Для того чтобы директория, содержащая файлы, определялась как пакет, в неё необходимо добавить файл __init__.py. Он показывает интерпретатору Python, что папка — это пакет с модулями.
Начиная с версии Python 3.3, добавлять файл __init__.py в директорию больше не нужно, интерпретатор Python считает все папки пакетами.
Не стоит путать понятия “пакет” и “модуль”. Модуль — это отдельный файл, а пакет — это папка, в которой содержится несколько отдельных скриптов.
Как установить модуль Python
Модули python являются просто импортированными скриптами. Модули могут быть общедоступными (такими как time и subprocess) или собственными. В рамках данного материала будет рассмотрено как установить модуль python.
Рассмотрим простейший скрипт на python, который будет использовать встроенный модуль time
mcedit modules.py
import time
print («Get some sleep»)
print(time.sleep(2))
print («Wake up»)
Первой строкой модуль импортируется, это означает, что функции, которые в нем заложены можно будет использовать в скрипте. В данном случае мы используем только одну из них — функцию sleep.
Таких модулей очень много, использовать их удобнее, чем реализовывать весь необходимый для работы приложения функционал с нуля.
Поскольку модуль является по сути просто скриптом, состоящим из некоторого количества функций, загруженным и использующимся оболочкой, создать модуль python можно самостоятельно.
Написать свой импортируемый скрипт
Напишем свой простейший модуль, затем импортируем его в оболочку
mcedit lesson.py
import subprocess
def main():
df = subprocess.call([‘df’, ‘-h’])
print (df)
def free():
free = subprocess.call([‘free’, ‘-m’])
print (free)
if __name__ == ‘__main__’: main()
Обращаясь к скрипту в консоли сейчас получаем такой результат
python3 lesson.py
Filesystem Size Used Avail Use% Mounted on
udev 918M 0 918M 0% /dev
tmpfs 188M 6,3M 182M 4% /run
/dev/sda2 65G 16G 46G 25% /
tmpfs 937M 41M 896M 5% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 937M 0 937M 0% /sys/fs/cgroup
/dev/sda3 393G 240G 134G 65% /home
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 188M 0 188M 0% /run/user/122
tmpfs 188M 64K 188M 1% /run/user/1000
Т.е. отрабатывает функция main().
Теперь перейдем в оболочку python3 и импортируем модуль затем используем одну из написанных ранее функций (выводящую количество свободной оперативной памяти)
python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>> import lesson
>>> lesson.free()
total used free shared buff/cache available
Mem: 1872 1247 133 136 491 261
Swap: 1905 584 1321
0
Таким же образом модуль можно использовать в других скриптах
mcedit try.py
import lesson
lesson.free()
Вывод при обращении к файлу будет аналогичным
python3 try.py
total used free shared buff/cache available
Mem: 1872 1254 118 140 499 250
Swap: 1905 583 1322
0
Модуль lesson сам является скриптом, чтобы он успешно импортировался у файла должно быть расширение .py, в имени же модуля расширение указывать не нужно.
В скриптах которые, используются как модули всегда прописывается конструкция if __name__ == ‘__main__’.
pip — Как установить пакет Python с файлом .whl?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
python — Как установить модуль os в Windows?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Как мне установить пакет yaml для Python?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.