Разное

Как установить модуль 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 поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов  нужно вручную. Вариантов два:

  1. C помощью скрипта get_pip.py  —  быстро.

  2. Через 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, можно назвать модулем. Он может быть как исполняемым, так и подключаемым. Исполняемый модуль содержит код, который самостоятельно выполняет какие-то действия, а подключаемый представляет из себя набор функций, классов и объектов, которые можно использовать для решения задач в другой программе.

Разделение программ на модули даёт ряд преимуществ:

  • Программа имеет понятную структуру, что позволяет программисту легко ориентироваться в тысячах строк кода.
  • Позволяют использовать одни и те же имена для функций, то есть не допускают пересечений имён.
  • Программисту не нужно загружать скрипт большим количеством функций, большая часть которых не используется, достаточно подключить только нужные модули или их части.

Исполняемый и подключаемый модуль

Можно написать такой скрипт, который будет и выполнять какие-то действия (программа), и импортироваться в другие модули (библиотека).

Его важно правильно оформить:

  1. Весь исполняемый код помещается в функцию main().
  2. Функция 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?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

python — Как установить модуль os в Windows?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

Как мне установить пакет yaml для Python?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *