7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Установка Pip на Ubuntu

Содержание

Установка Pip на Ubuntu 18.04

Pip — это система управления пакетами, которая упрощает установку и управление пакетами ПО, написанными на Python, например, такие как в Python Package Index (PyPI). Pip не установлен по умолчанию на Ubuntu 18.04, но установить её довольно просто.

В этом руководстве мы расскажем, как установить Python Pip на Ubuntu 18.04 с помощью диспетчера пакетов apt. Также разберемся в основах установки и управления пакетами Python с помощью pip.

Зачем использовать python -m pip

И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога.

Мариатта — разработчик из Канады, спросила в Твиттере о python -m pip, попросив рассказать об этой идиоме и объяснить принцип ее работы.

Недавно я узнала, что нужно писать python -m pip вместо обычного pip install, но теперь я не могу вспомнить от кого я это услышала. Наверное, от @brettsky или @zooba. У кого-нибудь из вас есть пост в блоге, чтобы я могла поделиться им с читателями?
— Мариатта ( @mariatta ) 29 октября 2019 г. (https://twitter.com/mariatta/status/1189243515739561985?ref_src=twsrc%5Etfw)

Я не уверен, что именно я сказал Мариатте о python -m pip, но есть все шансы, что это был именно я, поскольку я же просил, чтобы эта инструкция для установки пакетов с помощью PyPI писалась именно так с 2016 года. Итак, эта статья должна пояснить, что такое python -m pip и почему вы должны использовать именно ее при запуске pip.

Что такое python -m pip?

Для начала, python -m pip выполняет pip с помощью той версии Python, которую вы указали для инструкции python. Таким образом, /usr/bin/python3.7 -m pip значит, что вы выполните pip для интерпретатора, расположенного в /usr/bin/python3.7 . Вы можете прочитать документацию про флаг -m , если вы не знаете, как он работает (кстати, он крайне полезный).

Зачем использовать python -m pip вместо pip/pip3?

Вы можете сказать: «Ладно, но почему я не могу просто воспользоваться pip, запустив команду pip?» Ответом будет: «Да, но контролировать вы ее будете меньше». Я объясню, что значит «контролировать меньше» на примере.

Предположим, у меня установлены две версии Python, например, Python 3.7 и 3.8 (это очень распространено среди людей, которые работают на Mac OS или Linux, не говоря уже о том, что вы возможно захотели поиграться с Python 3.8, и у вас уже стоял Python 3.7). Итак, если вы введете pip в терминале, для какого интерпретатора Python вы установите пакет?

Без более подробной информации ответа вы не узнаете. Сначала вам нужно будет понять, что лежит в PATH, то есть /usr/bin идет первым или же /usr/local/bin (которые являются самыми распространенными местами для установки Python, кстати обычно /usr/local/ идет первым). Итак, вы помните, где вы установили Python 3.7 и 3.8 и что это были разные каталоги, и вы будете знать, что пришло в PATH первым. Предположим, что вы установили оба вручную, возможно в вашей системе был уже предустановлен Python 3.7.3, и вы установили Python 3.7.5. В этом случае обе версии Python устанавливаются в /usr/local/bin . Можете ли вы сказать мне теперь, к чему теперь привязан pip?

Ответ вы не знаете. Если вы не знаете, когда устанавливали каждую версию, и понимаете, что последняя версия pip была записана в /usr/local/bin/pip , но вы не знаете, какой интерпретатор будет использоваться для команды pip. Теперь вы можете сказать: «Я всегда ставлю самые последние версии, так что это значит, что Python 3.8.0 будет установлен последним, поскольку он новее, чем, допустим, 3.7.5″. Хорошо, но что происходит, когда выходит Python 3.7.6? Ваш pip использовался бы уже не из Python 3.8, а из Python 3.7.

Когда вы используете python -m pip с конкретным интерпретатором python, который вам нужен, вся неопределенность исчезает. Если я пишу python3.8 -m pip, я точно знаю какой pip будет использован и что пакет будет установлен для Python 3.8 (то же самое было бы, если бы я указал python3.7).

Если вы пользуетесь Windows, то у вас есть дополнительный стимул использовать python -m pip, поскольку он позволяет pip обновлять себя. В основном, потому что pip.exe считается запущенным, когда вы пишете pip install —upgrade pip. В этот момент Windows не позволит вам переустановить pip.exe. Однако если вы делаете python-m pip install —upgrade pip, вы обходите эту проблему, поскольку запускается python.exe, а не pip.exe.

А что происходит, когда я нахожусь в активированной среде?

Обычно, когда я объясняю суть этой статьи людям, обязательно находится кто-то, кто скажет: «Я всегда использую виртуальную среду, и это ко мне не относится». Что ж, для начала хорошо бы ВСЕГДА использовать виртуальную среду! (Я расскажу, почему я так думаю, в одной из своих следующих статей!) Но если честно, то я бы все еще настаивал на использовании python -m pip, даже если, строго говоря, это не нужно.

Во-первых, если вы пользуетесь Windows, вам все равно захочется использовать python-m pip, чтобы вы в своей среде могли обновить pip.

Во-вторых, даже если вы используете другую операционную системы, я бы сказал, что все равно нужно пользоваться python-m pip, поскольку он будет работать независимо от ситуации. Он предупредит вас об ошибке, если вы забудете активировать среду, а любой человек, который за вами будет наблюдать, будет перенимать лучшие практики. И лично я не считаю, что экономия 10 нажатий на клавиатуру – весомая цена для неиспользования хорошей практики. А еще эта команда поможет вам предотвратить ошибки при написании сценариев автоматизации, которые будут выполнять заведомо некорректные операции, если вы забудете активировать среду.

Лично я, когда пользуюсь любым инструментом, работа которого зависит от того, каким интерпретатором он запускается, всегда пользуюсь -m , вне зависимости того, активирована виртуальная среда или нет. Мне всегда важно понимать, какой интерпретатор Python я использую.

ВСЕГДА пользуйтесь средой! Не ставьте все подряд в глобальный интерпретатор!

Когда мы говорим о том, как избежать путаницы при установке в Python, хочу подчеркнуть, что мы вообще не должны устанавливать ничего в глобальный интерпретатор Python, когда работаем локально (контейнеры – это совсем другое дело)! Если это предустановленный Python вашей системы, то в случае, если вы установите какую-то несовместимую версию библиотеки, на которую опирается ваша ОС, то фактически сломаете систему.

Но даже если вы установите отдельно для себя копию python, я все равно настоятельно не рекомендую ставить прямо в нее при локальной разработке. В конечном счете в своих проектах вы будете использовать различные пакеты, которые могут друг с другом конфликтовать, и у вас не будет четкого представления о зависимостях внутри ваших проектов. Гораздо лучше использовать среды, чтобы изолировать отдельные проекты и инструменты для них друг от друга. В сообществе Python используются два типа сред: виртуальные среды и conda среды. Существует даже специальный способ изолированной установки инструментов Python.

Если вам нужно установить инструмент

Для изолированной установки инструмента, я могу порекомендовать использовать pipx. Каждый инструмент получит свою собственную виртуальную среду, чтобы не конфликтовать с другими. Таким образом, если вы хотите иметь всего одну установку, к примеру, Black, вы можете работать, не сломав случайно свою единственную установку mypy.

Если вам нужна среда для проекта (и вы не пользуетесь conda)

Когда нужно создать среду для проекта, лично я всегда обращаюсь к venv и виртуальным средам. Она включена в stdlib Python, поэтому всегда доступна с помощью python-m venv (если, конечно, вы не используете Debian или Ubuntu, в этом случае вам может потребоваться установить пакет python3-venv apt). Немножко истории: Я фактически удалил старую команду pyvenv, которую Python устанавливал для создания виртуальных сред с помощью venv, по тем же причинам, почему нужно пользоваться python -m pip вместо pip. То есть непонятно для какого интерпретатора вы создали виртуальную среду при помощи старой команды pyvenv. И помните о том, что вам не нужно активировать среду, чтобы использовать интерпретатор содержащийся в ней, ведь .venv/bin/python работает так же хорошо, как активация среды и ввод команды python.

Сегодня некоторые разработчики по-прежнему отдают предпочтение virtualenv, поскольку она доступна на Python 2 и в ней есть некоторые дополнительные функции. Лично меня мало интересуют дополнительные функции, и наличие интегрированной venv означает, что мне не нужно использовать pipx для установки virtualenv на каждой машине. Но если venv не отвечает вашим потребностям, и вы хотите виртуальную среду, то посмотрите, предлагает ли virtualenv то, что вам нужно.

Если вы используете conda

Если вы используете conda, то можете использовать среды conda для получения того же эффекта, который могут предложить виртуальные среды, предоставляемые venv. Я не собираюсь вдаваться в то, нужно ли вам использовать conda или venv в вашей конкретной ситуации, но если вы используете conda, то знаете, что вы можете (и должны) создавать среды conda для своей работы, вместо того чтобы устанавливать все подряд в свою системную установку. Так вы сможете получить четкое понимание того, какие зависимости есть у вашего проекта (и это хорошая причина, чтобы использовать miniconda вместо полноценной anaconda, поскольку в первой меньше десятой части объема последней).

Всегда есть контейнеры

Работать в контейнере – это способ не разбираться со средой вообще, так как вся ваша «машина» станет отдельной средой. До тех пор, пока вы не установили Python в систему контейнера, вы должны спокойно иметь возможность сделать глобальную установку, чтобы ваш контейнер оставался простым и понятным.

Повторюсь, чтобы вы действительно поняли суть…
Не устанавливайте ничего в свой глобальный интерпретатор Python! Всегда старайтесь использовать среду для локальной разработки!

Я уже не могу сказать, сколько раз мне приходилось помогать кому-то, кто думал, что pip устанавливал в один интерпретатор Python, а на самом деле устанавливал в другой. И это неизмеримое количество также относится к тем моментам, когда люди ломали всю систему или задавались вопросом, почему они не смогли установить что-то, что противоречило какой-то другой вещи, которую они поставили ранее для другого проекта и т.д. из-за того, что они не потрудились настроить среду на своей локальной машине.

Поэтому, чтобы и вы и я могли спать спокойно, используйте python-m pip и старайтесь всегда использовать среду.

Создание Telegram-бота

Начнем с создания простого бота для Telegram. Чтобы наш бот функционировал, нужно первым делом его создать. Для этого в телеграме есть специальный мета-бот BotFather (@BotFather). Добавьте его через поиск в вашем клиенте телеграмма. Список его команд можно получить, написав в чате с ним команду /help. Для создания нового бота нужно написать команду /newbot и в следующем сообщении передать название бота (должно заканчиваться словом bot). В ответ вам придет сообщение с API токеном — он понадобится нам для создания соединения с телеграммом.

Создайте файл simplebot.py со следующим содержанием:

Код довольно интуитивен, поясним только основные идеи. Когда пользователь будет вводить команды /start и /help — выполнится функция send_welcome, которая отправит пользователю в чат сообщение с приветствием. При вводе /auth пока ничего происходить не будет.

Запустите бота командой:

Теперь вы можете добавить своего бота в чат телеграмм и пообщаться с ним. Много полезных функций можно найти в документации telegram. Например, если вы хотите изменить описание, которое будут видеть пользователи при добавлении вашего бота в чат, вы можете написать @botfather следующую команду:

Затем выберите нужного бота из предложенного списка и следующим сообщением отправьте текст описания. Также, вы можете задать вашему боту список команд, которые он понимает. Это необходимо для того, чтобы у пользователей выводились подсказки при наборе команд в чате. Введите:

Выберите бота из списка и в следующем письме введите перечень команд в формате:

Этих знаний достаточно, чтобы уже сейчас запустить своего бота. О том как сделать его чуточку полезнее, читайте в продолжении.

Читайте далее

Мы рассказываем об интересных технологиях и делимся опытом их использования.

Пакеты для работы с командной строкой, доступные в стандартной библиотеке Python 3.x

Добавление команд и параметров в ваши скрипты может сделать их значительно лучше, но парсить командную строку не так просто, как может показаться. Однако вместо того, чтобы пытаться самостоятельно решить эту проблему, лучше воспользоваться одним из многих пакетов, которые сделали это за вас.

Два наиболее известных пакета для этого — optparse и argparse. Они являются частью стандартной библиотеки Python и добавлены туда по принципу «всё включено».

По большей части они делают одно и то же и работают схожим образом. Главное отличие заключается в том, что optparse не используется начиная с Python 3.2, и argparse считается стандартом для создания CLI в Python.

Вы можете узнать о них больше в документации Python, но, чтобы иметь представление, как выглядит скрипт с argparse, посмотрите на пример ниже:

Содержание

Версии языка

Основными поддерживаемыми версиями Python являются вторая и третья (2.7.11 и 3.5.1 на момент написания статьи), которые, вообще говоря, не являются обратно совместимыми. Вторая версия на момент написания статьи распространена в индустрии больше из-за количества написанного на нем кода, однако его поддержка будет закончена раньше, и все основные модули совместимы с Python 3.

Установка Python

Python является интерпретируемым языком программирования, что означает, что для работы кода на Python нужен интерпретатор. Основной реализацией Python является CPython. В академической и исследовательской распространен IPython, который расширен более продвинутым автодополнением и другими вспомогательными конструкциями. В частности, довольно распространен Jupyter, в котором можно писать код (не только на Python 2 или 3, но и на Matlab, R и других) и вставлять документацию на Markdown с поддержкой LaTeX. Основным достоинством этого подхода является написание кода и технического отчета одновременно, который может сопровождаться самой разнообразной визуализацией [1] .

Linux и OS X

Интерпретатор Python встроен в OS X и почти во все Linux дистрибутивы. С большой вероятностью, команда python вызывает интерпретатор Python по умолчанию, python3 — интерпретатор для третьей версии.

Для установки дополнительных пакетов необходимо воспользоваться пакетным менеджером Python — pip. Единственный верный способ установки менеджера на любой *nix системе указан здесь. Если вы используете Ubuntu/Mint/Debian, то код, устанавливающий основные зависимости и библиотеки анализа данных приведен ниже (работает на Ubuntu 14.04). Обратите внимание, что пакеты собираются pip’ом из исходников на Linux, так что установка может занять некоторое время.

Все дополнительные библиотеки, jupyter и ipython могут быть установлены с помощью команды (приведен пример для установки pandas).

Обратите внимание, что, если вы используете Linux, рекомендуется использовать pip без прав администратора, так как вы рискуете своей ошибкой нарушить работоспособность системы. Для безопасной работы с pip существует virtualenv.

Альтернативой pip является anaconda.

Windows

Для корректной работы всех библиотек анализа данных практически единственным реалистичным методом является anaconda.

Anaconda

Anaconda — это дистрибутив Python и R вместе с основными библиотеками для анализа данных и пакетным менеджером conda . С помощью последнего удобно устанавливать и удалять пакеты. Также сильным достоинством является установка без компилирования из исходного кода, что значительно ее ускоряет по сравнению с pip. После установки дистрибутива с официального сайта (в этом разделе рассматриваем случай Windows) в приложениях появляется «Anaconda Prompt». Именно в этом приложении коммандной строки и придется работать. Для выведения помощи по коммандам:

Обновление всех установленных пакетов

Выведение списка установленных пакетов

Из комманд терминала Windows пригодится cd foldername — изменить директорию, dir — вывести содержимое текущей директории. Расширенную справку можно почитать, например, тут.

Краткое введение в Python

Будем использовать для знакомства третью версию языка Python.

Программа «Hello, World»

В арифметических операции Python помимо стандартных есть возведение в степень. Длинная арифметика, а также необходимые преобразования типов происходят «под капотом»

Целочисленное деление, остаток от деления

Python — язык с динамической типизацией

В Python богатый встроенный набор коллекций

Индексация в списках

Цикл for. Обратите внимание, что блок выделяется однотипным отступом (то есть с помощью Tab или одинакового количества пробелов).

Некоторые трюки с присваиваниями

Определение функций в Python

Python и анализ данных

Python наряду с R стал де-факто стандартом индустрии анализа данных. Одним из основных достоинств Python выделяют богатство его стандартной библиотеки и огромное множество реализованных библиотек, называемых *модулями*. В частности, для задач оптимизации, статистики, анализа данных, визуализации и представления результатов можно выделить следующие модули:

  • jupyter
  • scikit-learn
  • numpy
  • pandas
  • matplotlib
  • scipy
  • sympy

Установка pip для Python 2 и 3

Установка pip затруднений не вызывает. Мало того, если вы применяете виртуальные окружения на базе virtualenv и venv, то система для пакетов pip уже установлена.

Как правило, начиная с Python версии 3.4 (а для 2-го Python — с 2.7.9), pip поставляется одновременно с интерпретатором. Если же говорить о более ранних версиях, то устанавливать менеджер пакетов pip нужно вручную. И вот здесь у нас есть два варианта: 1. Установка посредством скрипта get_pip.py . Главный плюс — скорость. 2. Установка с помощью setuptools. Здесь кроме pip мы сможем использовать и easy_install .

Урок #2 — Создание проекта. Основные файлы

Видеоурок

Установка Django

Поскольку Django является фреймворком языка Python , то сперва необходимо установить сам язык. Для этого необходимо скачать последнюю версию Питона на их официальном сайте и следовать простым инструкциям. Если вы находитесь на Windows, то обязательно отметьте галочкой поле Add Python X.Y to PATH .

Если у вас возникли проблемы с установкой Python, то вы можете посмотреть специальный урок , в котором будет рассказано как установить Python на компьютер.

Для установки Django используйте следующую команду:

Если вы находитесь на Маке или Linux, то к слову pip пропишите цифру 3: pip3 . Если у вас не установлен pip на компьютере, то скачайте его по этой ссылке .

Создание проекта

Django проект можно создать в любой папке, поэтому создайте какую-либо папку и откройте её в окне команд. На Windows это можно сделать нажатием правой клавиши мыши на папку при зажатой клавише Shift:

В командной строке пропишите команду:

Вместо «название проекта» впишите любое название для вашего проекта.

Запуск локального сервера

Для запуска сервера необходимо перейти в командную строку и открыть в ней папку с вашим проектом. На Windows это можно сделать нажатием правой клавиши мыши на папку при зажатой клавише Shift :

  • Пропишите слово python3 в случае если вы на маке или Linux;
  • Если вы на Windows и у вас всего одна версия Питона, то пишите слово python;
  • Если вы на Windows и у вас несколько версий Python, то либо удалите все версии, кроме последней, либо укажите путь к последней версии Питона.

Несколько полезных советов

  1. В данном курсе используется версия Django 3 , поэтому чтобы не возникали дополнительные непонятные моменты, то лучше установите такую же версию Django;
  2. Стандартная командная строка в Windows не особо удобная, поэтому вместо неё лучше использовать сторонние программы. Очень удобной и легкой в работе является программа PowerShell, которую вы можете скачать здесь ;
  3. Путь к интерпретатору можно не прописывать вручную, если поставить virtualenv и в нём указать нужную версию Python и Django. Если работать в PyCharm, то в преднастройках можно выставить нужный интерпретатор.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Пропишите команду, за счет которой создайте новое приложение: «users».

Запускаем установщик Python

По окончанию загрузки установщика, запустите его двойным щелчком мыши, чтобы начать установку Python. Обязательно установите флажок на «Add Python X.Y to PATH» в мастере настройке. Убедитесь, что флажок “Add Python X.Y to PATH” поставлен в установщике, в противном случае у вас будут проблемы с доступом инсталлятора Python к командной стоке. Нажмите «Установить» для начала установки. Установка должна пройти быстро, после чего Python будет готов к запуску на вашей системе. К следующему шагу нужно убедиться, что все было выполнено надлежащим образом.

Примеры использования PIP

Рассмотрим примеры использования PIP для управления пакетами.

Установка пакета

Для установки свежей версии пакета необходимо выполнить команду install:

Установка определенной версии пакета

Установка определенной версии — указывается имя пакета, два знака равенства и требуемая версия пакета:

Установка пакета не ниже определенной версии:

Обновление пакета

Обновить уже установленный пакет до самой свежей версии:

Список установленных пакетов

Выведем список установленных через PIP пакетов. Используем опцию —format=columns , чтобы вывести результаты в табличном виде.

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector