Устанавливаем python-пакеты с помощью pip

pip — это система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.
Установка pip
Прежде чем с помощью pip устанавливать python-пакеты, нужно сначала установить сам pip.
Python 3.4+
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором python.
Python
- Загрузить get-pip.py (обязательно сохранив с расширением .py).
- Запустить этот файл (могут потребоваться права администратора).
Есть ещё один способ (для Windows). Возможно, он является более предпочтительным:
- Установить setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
- Установить pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
Начало работы
Попробуем с помощью pip установить какой-нибудь пакет, например, numpy:
sudo pip3 install numpy
pip3 install numpy
Может не сработать, написав: «python» не является внутренней или внешней командой, исполняемой программой или пакетным файлом (такого, скорее всего, не должно быть при установке pip вторым способом, но проверить не на чем).
Тогда нужно обращаться напрямую:
Либо добавлять папку 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:passwd@proxy.server:port — использование с прокси.
pip install -U — обновление пакета(ов).
pip install —force-reinstall — при обновлении, переустановить пакет, даже если он последней версии.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Не работает pip install в Python консоли
Так понимаю, Вы запускаете в интерактивном режиме python (сам так первый раз запустил). pip запускается из командной строки Вашей ОС.
Запускаем cmd , пишем pip install . и Enter
Отслеживать
51.6k 201 201 золотой знак 63 63 серебряных знака 245 245 бронзовых знаков
ответ дан 2 мар 2018 в 17:15
Anton Kulago Anton Kulago
368 2 2 серебряных знака 13 13 бронзовых знаков
я из командной строки запустил.
3 мар 2018 в 16:14
@АнтонВасиленко если судить по ошибке указанной в вопросе - нет, вы запускали pip install в интерактивном режиме python. То что у вас просто в cmd не запускался pip (то что я вижу в вашем ответе) нигде не сказано. Поэтому по сути ответ правильный.
Pip install invalid syntax что делать
Last updated: Feb 10, 2023
Reading time · 7 min

# "pip install" causes SyntaxError: invalid syntax [Solved]
If you get a "SyntaxError: invalid syntax" when trying to install a module using pip , make sure to run the command from your shell, e.g. bash or PowerShell, and not by running a Python file that contains the pip install your_module command.

Here is an example of how the error occurs.
Copied!# ⛔️ SyntaxError: invalid syntax pip install requests
# Running pip install from a Python file causes the error
Running the main.py file with python main.py causes the error because we aren't supposed to run pip commands by running a Python script.

# Don't run pip install from the Python interpreter
You also shouldn't be running the pip install some_module command from the Python interpreter in your shell.

You can press CTRL + D (or Cmd + D on macOS) to exit the Python interpreter and install the specific module.
If pressing CTRL + D doesn't let you exit the Python interpreter, use the exit() function.
Copied!exit() pip install requests # ️ or pip3 pip3 install requests

# Run the pip install command from your shell
Instead, run the pip install your_module command from your shell, e.g. bash , PowerShell or CMD.
Copied!pip install requests # ️ or pip3 pip3 install requests # ️ or python -m prefix python -m pip install requests python3 -m pip install requests py -m pip install requests
The example above installs the requests module. Make sure to adjust the name of the module if you have to.

If you get an error when running the pip install some_module command from your shell, try the following commands.
Copied!# ️ in a virtual environment or using Python 2 pip install requests # ️ for python 3 (could also be pip3.10 depending on your version) pip3 install requests # ️ if you get permissions error sudo pip3 install requests # ️ if you don't have pip in your PATH environment variable python -m pip install requests # ️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install requests # ️ for Windows py -m pip install requests
The python -m prefix might work in the place of pip when python isn't set up in your PATH environment variable.
Copied!# ️ if you don't have pip in your PATH environment variable python -m pip install requests # ️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install requests # ️ for Windows py -m pip install requests
Make sure to replace the requests package with the name of the package you're trying to install.
# Searching for the name of the package to be installed
If you aren't sure what command you should run to install the module, google for "Pypi your_module_name", e.g. "Pypi requests".
Click on the pypi.org website and look at the pip install command.
You can also search for a package's name directory on the pypi website.
Once you find the package you are trying to install, copy the pip install X command and paste it to your terminal.

# Installing a package on Windows
To install a package on Windows:
- Type CMD in the search bar and open the Command Prompt application.
- Type pip install requests and press Enter.
Copied!pip install requests # ️ for Python 3 pip3 install requests

Make sure to replace requests with the name of the package you're trying to install.
If the command doesn't succeed, try running CMD as an administrator.
Right-click on the search result, click on "Run as administrator" and run the pip install command.

If you get the error 'pip' is not recognized as an internal or external command, use the python -m command when installing requests .
Copied!python -m pip install requests python3 -m pip install requests py -m pip install requests
# Installing a package on macOS or Linux
To install a package on macOS or Linux:
- Search for "terminal" and start the application.
- Type pip install requests and press Enter.

Copied!pip install requests # ️ with pip3 pip3 install requests

If you get an error that pip isn't found, use the python -m command.
Copied!python -m pip install requests python3 -m pip install requests
If you get a permissions error, prefix the command with sudo .
Copied!sudo pip install requests sudo pip3 install requests
If you need to install a specific version of the package, click on the relevant to you article:
- Pip install a specific version of a Python package
- Pip install a specific version of a Python package
# Importing and using the package in your Python file
After you install the specific package, you can import it and use it in your Python script.
Here is an example that imports and uses requests .
Copied!import requests def make_request(): res = requests.get('https://reqres.in/api/users', timeout=10) print(res.json()) make_request()

Once you import the package into a file that has a .py extension, e.g. main.py , you can run your script with the python main.py command.
Copied!python main.py python3 main.py
# Installing a package in a Python script
If you need to install a package in a Python script, use the subprocess module.
Copied!import subprocess import sys def install(package): subprocess.check_call([sys.executable, "-m", "pip", "install", package]) install('requests')

Make sure to replace requests with the name of the module you're trying to install.
After adding the code to a file, e.g. main.py , you can install the package by running the python main.py command.
Copied!python main.py
You can use a for loop if you need to install multiple packages.
Copied!import subprocess import sys def install(package): subprocess.check_call([sys.executable, "-m", "pip", "install", package]) packages_to_install = ['requests', 'numpy'] for p in packages_to_install: install(p)
You can run the main.py file with python main.py to install the packages from the list.
We stored the packages to be installed in a list and used a for loop to call the pip install command for each package.
# Installing multiple packages in a single statement
An alternative way to install multiple packages is to use the iterable * unpacking operator.
Copied!import subprocess import sys packages_to_install = ['requests', 'numpy'] subprocess.check_call([sys.executable, "-m", "pip", "install", *packages_to_install])
We used the iterable * unpacking operator to unpack the list of packages in the call to subprocess.check_call() .
You can imagine that all of the packages from the list get passed as comma-separated arguments to the method and get installed.
# Checking if a package is installed before installing it
You can also check if the package is installed before trying to install it.
Copied!import sys import subprocess try: import requests print('The requests module is installed') except ModuleNotFoundError: print('The requests module is NOT installed') # ️ install module python = sys.executable subprocess.check_call( [python, '-m', 'pip', 'install', 'requests'], stdout=subprocess.DEVNULL ) finally: import requests
We try to import the requests module and if it is not installed, a ModuleNotFoundError is raised.
In this case, we install the module in the except block.
# Only installing packages that have not been installed
The following code sample checks if each package has been installed before calling subprocess.check_call() with the missing packages.
Copied!import subprocess import sys import pkg_resources required = ['requests', 'numpy'] installed = [pkg.key for pkg in pkg_resources.working_set] packages_to_install = [ package for package in required if package not in installed] if packages_to_install: subprocess.check_call([sys.executable, "-m", "pip", "install", *packages_to_install]) else: print('All packages have been installed')
We used a list comprehension to exclude all of the packages that have been installed.
On each iteration, we check if the current package is not in the list of installed packages.
The last step is to use the iterable * unpacking operator to unpack the list of packages in the call to subprocess.check_call() .
# Install the package in a virtual environment instead
If the suggestions didn't help, try creating a virtual environment by running the following commands from your shell.
Copied!# ️ use correct version of Python when creating VENV python -m venv venv # ️ activate on Unix or MacOS source venv/bin/activate # ️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # ️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # ️ install any modules you need in virtual environment pip install requests
If the python -m venv venv command fails, try the following 2 commands instead:
- python3 -m venv venv
- py -m venv venv
Your virtual environment will use the version of Python that was used to create it.
# Upgrade your version of pip
If the error persists, try to upgrade your version of pip by running the following command.
Open your terminal and run the following command to install pip.
Copied!# ️ On Linux or macOS python -m ensurepip --upgrade # ️ using python 3 python3 -m ensurepip --upgrade # ️ On Windows py -m ensurepip --upgrade
The ensurepip package enables us to bootstrap the pip installer into an existing Python installation or virtual environment.
If the error persists, try upgrading pip by running:
Copied!# ️ on macOS or Linux python -m pip install --upgrade pip # ️ if you get permissions error python -m pip install --user --upgrade pip # ️ for Python 3 python3 -m pip install --upgrade pip # ️ if you get permissions error python3 -m pip install --user --upgrade pip # ️ on Windows py -m pip install --upgrade pip # ️ if you get permissions error py -m pip install --user --upgrade pip
# Common causes of the error
The "SyntaxError: invalid syntax" error when using pip install occurs for 2 main reasons:
- Trying to use the pip install command in a Python module, e.g. a main.py file.
- Trying to use the pip install command with the Python interpreter active in an interactive session.
If the error persists and you can't install the specific module, watch a quick video on how to use Virtual environments in Python.
This one is for using virtual environments (VENV) on Windows :
This one is for using virtual environments (VENV) on MacOS and Linux :
# Additional Resources
You can learn more about the related topics by checking out the following tutorials:
- Pip install multiple requirements files in Python
- How to pip install a package Globally instead of Locally
- Pip install and uninstall in silent, non-interactive mode
- Pip install a specific version of a Python package
- Pip list all available versions of a Python package
- The purpose of pip's --no-cache-dir option
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
Как чинить SyntaxError
SyntaxError — это ошибка, которая легко может ввести в ступор начинающего программиста. Стоит забыть одну запятую или не там поставить кавычку и Python наотрез откажется запускать программу. Что ещё хуже, по выводу в консоль сложно сообразить в чём дело. Выглядят сообщения страшно и непонятно. Что с этим делать — не ясно. Вот неполный список того, что можно встретить:
- SyntaxError: invalid syntax
- SyntaxError: EOL while scanning string literal
- SyntaxError: unexpected EOF while parsing
Эта статья о том, как справиться с синтаксической ошибкой SyntaxError . Дочитайте её до конца и получите безотказный простой алгоритм действий, что поможет вам в трудную минуту — ваш спасательный круг.
Работать будем с программой, которая выводит на экран список учеников. Её код выглядит немного громоздко и, возможно, непривычно. Если не всё написанное вам понятно, то не отчаивайтесь, чтению статьи это не помешает.
students = [ ['Егор', 'Кузьмин'], ['Денис', 'Давыдов'], ] for first_name, last_name in students: label = 'Имя ученика: '.format( first_name = first_name last_name = last_name ) print(label)
Ожидается примерно такой результат в консоли:
$ python script.py Имя ученика: Егор Кузьмин Имя ученика: Денис Давыдов
Но запуск программы приводит к совсем другому результату. Скрипт сломан:
$ python script.py File "script.py", line 9 last_name = last_name ^ SyntaxError: invalid syntax
Ошибки в программе бывают разные и каждой нужен свой особый подход. Первым делом внимательно посмотрите на вывод программы в консоль. На последней строчке написано SyntaxError: invalid syntax . Если эти слова вам не знакомы, то обратитесь за переводом к Яндекс.Переводчику:
SyntaxError: недопустимый синтаксис SyntaxError: неверный синтаксис
Первое слово SyntaxError Яндекс не понял. Помогите ему и разделите слова пробелом:
Syntax Error: invalid syntax Синтаксическая ошибка: неверный синтаксис
Теория. Синтаксические ошибки
Программирование — это не магия, а Python — не волшебный шар. Он не умеет предсказывать будущее, у него нет доступа к секретным знаниями, это просто автомат, это программа. Узнайте как она работает, как ищет ошибки в коде, и тогда легко найдете эффективный способ отладки. Вся необходимая теория собрана в этом разделе, дочитайте до конца.
SyntaxError — это синтаксическая ошибка. Она случается очень рано, еще до того, как Python запустит программу. Вот что делает компьютер, когда вы запускаете скрипт командой python script.py :
- запускает программу python
- python считывает текст из файла script.py
- python превращает текст программы в инструкции
- python исполняет инструкции
Синтаксическая ошибка SyntaxError возникает на четвёртом этапе в момент, когда Python разбирает текст программы на понятные ему компоненты. Сложные выражения в коде он разбирает на простейшие инструкции. Вот пример кода и инструкции для него:
person = 'name': 'Евгений'>
- создать строку 'Евгений'
- создать словарь
- в словарь добавить ключ 'name' со значением 'Евгений'
- присвоить результат переменной person
SyntaxError случается когда Python не смог разбить сложный код на простые инструкции. Зная это, вы можете вручную разбить код на инструкции, чтобы затем проверить каждую из них по отдельности. Ошибка прячется в одной из инструкций.
1. Найдите поломанное выражение
Этот шаг сэкономит вам кучу сил. Найдите в программе сломанный участок кода. Его вам предстоит разобрать на отдельные инструкции. Посмотрите на вывод программы в консоль:
$ python script.py File "script.py", line 9 last_name = last_name ^ SyntaxError: invalid syntax
Вторая строчка сообщает: File "script.py", line 9 — ошибка в файле script.py на девятой строчке. Но эта строка является частью более сложного выражения, посмотрите на него целиком:
label = 'Имя ученика: '.format( first_name = first_name last_name = last_name )
«Девман» — авторская методика обучения программированию. Готовим к работе крутых программистов на Python. Станьте программистом, пройдите продвинутый курс Python.
2. Разбейте выражение на инструкции
В прошлых шагах вы узнали что сломан этот фрагмент кода:
label = 'Имя ученика: '.format( first_name = first_name last_name = last_name )
Разберите его на инструкции:
- создать строку 'Имя ученика: '
- получить у строки метод format
- вызвать функцию с двумя аргументами
- результат присвоить переменной label
Так выделил бы инструкции программист, но вот Python сделать так не смог и сломался. Пора выяснить на какой инструкции нашла коса на камень.
Теперь ваша задача переписать код так, чтобы в каждой строке программы исполнялось не более одной инструкции из списка выше. Так вы сможете тестировать их по отдельности и облегчите себе задачу. Так выглядит отделение инструкции по созданию строки:
# 1. создать строку template = 'Имя ученика: ' label = template.format( first_name = first_name last_name = last_name )
Сразу запустите код, проверьте что ошибка осталась на прежнему месте. Приступайте ко второй инструкции:
# 1. создать строку template = 'Имя ученика: ' # 2. получить у строки метод format = template.format label = format( first_name = first_name last_name = last_name )
Строка format = template.format создает новую переменную format и кладёт в неё функцию. Да, да, это не ошибка! Python разрешает класть в переменные всё что угодно, в том числе и функции. Новая переменная переменная format теперь работает как обычная функция, и её можно вызвать: format(. ) .
Снова запустите код. Ошибка появится внутри format . Под сомнением остались две инструкции:
- вызвать функцию с двумя аргументами
- результат присвоить переменной label
Скорее всего, Python не распознал вызов функции. Проверьте это, избавьтесь от последней инструкции — от создания переменной label :
# 1. создать строку template = 'Имя ученика: ' # 2. получить у строки метод format = template.format # 3. вызвать функцию format( first_name = first_name last_name = last_name )
Запустите код. Ошибка снова там же — внутри format . Выходит, код вызова функции написан с ошибкой, Python не смог его превратить в инструкцию.
3. Проверьте синтаксис вызова функции
Теперь вы знаете что проблема в коде, вызывающем функцию. Можно помедитировать еще немного над кодом программы, пройтись по нему зорким взглядом еще разок в надежде на лучшее. А можно поискать в сети примеры кода для сравнения.
Запросите у Яндекса статьи по фразе “Python синтаксис функции”, а в них поищите код, похожий на вызов format и сравните. Вот одна из первых статей в поисковой выдаче:
Уверен, теперь вы нашли ошибку. Победа!
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.