Содержание
  1. Что именно устанавливает pip install openai
  2. Установка пакета openai в виртуальное окружение
  3. Ключ API: где создать и куда положить
  4. Официальный сайт OpenAI и документация по пакету
  5. Первый запрос из Python
  6. Код из старых учебников не запускается: что чинить
  7. Типовые ошибки установки openai и что с ними делать
  8. Доступ к API из России
  9. Чек-лист: от нуля до первого ответа
  10. Частые вопросы
ГайдыОбновлено · 08.2026

Python. Установка пакета OpenAI

5 февраля 2024 · 16 минут чтения

Пакет ставится одной командой — pip install openai. Дальше нужны три вещи: Python 3.10 или новее, ключ в переменной окружения OPENAI_API_KEY и первый запрос через client.responses.create. Ниже — установка в виртуальном окружении, настройка ключа на Windows, macOS и Linux, ремонт кода из старых учебников и разбор ошибок, на которых чаще всего застревают.

  • Актуальная версия библиотеки — 2.53.0, она требует Python 3.10+. На более старом интерпретаторе pip молча поставит последнюю сборку, которая его ещё поддерживает: на Python 3.9 — 2.48.0, на Python 3.8 — 2.2.0.
  • Ставить лучше в виртуальное окружение проекта, а не в системный Python.
  • Ключ не пишут в коде — его кладут в переменную окружения, клиент подхватывает её сам.
  • Код вида openai.ChatCompletion.create(...) и openai.Completion.create(...) в версиях 1.x и 2.x не работает: нужен объект-клиент.
  • Отдельный класс «ошибок установки» — пакет уехал не в тот интерпретатор, который потом запускает скрипт.

Что именно устанавливает pip install openai

Библиотека openai — официальный Python-клиент к API OpenAI: она берёт на себя HTTP-запросы, авторизацию, повторы и типизацию ответов. В карточке пакета на PyPI она описана как «The official Python library for the openai API». Это не сам ChatGPT и не локальная модель: пакет только ходит по сети к серверам OpenAI, а значит без ключа и оплаченного доступа он бесполезен.

Важное требование, о которое спотыкаются на старых машинах: Python 3.10 или выше. Проверьте, что стоит у вас:

python --version
python -m pip --version

Вторая команда нужнее первой. Она показывает не только версию pip, но и путь к интерпретатору, к которому этот pip привязан, — именно там окажется пакет. Если python в терминале не отзывается, на Windows пробуйте py --version, на macOS и Linux — python3 --version.

Когда версия ниже 3.10, pip не выдаёт ошибку. Он берёт последнюю сборку, которая ваш интерпретатор ещё поддерживает, и ставит её молча. Что именно приедет — проверено установкой в чистое окружение 11 августа 2026 года:

Версия Python Что поставит pip install openai Где упор
3.10 и новее 2.53.0 текущий релиз
3.9 2.48.0, залита 23.07.2026 в 2.49.0 требование подняли до >=3.10
3.8 2.2.0 с 2.3.0 в зависимостях jiter>=0.10.0, а его сборки под 3.8 закончились на 0.9.1

Главное следствие: синтаксис во всех трёх случаях уже новый, клиентский. Примеры из документации на Python 3.9 заработают, from openai import OpenAI импортируется, а openai.ChatCompletion.create() одинаково падает с APIRemovedInV1. Расходится другое — номер версии и набор возможностей: всё, что добавили в библиотеку после июля 2026 года, на Python 3.9 уже не приедет, и pip install --upgrade openai ничего не изменит, потому что для этого интерпретатора 2.48.0 и есть последняя доступная сборка.

Заодно стоит снять ходовой миф: openai 0.28 pip сам не поставит никогда и ни на какой версии Python. Она объявляет requires_python >=3.7.1 — ровно то же, что и релизы ветки 1.x вплоть до 1.53.1, а те новее и выигрывают резолвинг. Старый синтаксис попадает в код по другой причине: его копируют из статей и курсов 2023 года, написанных до переписывания библиотеки. Разбор этого случая — ниже.

Поэтому первым делом — версия, вторым — установка.

Установка пакета openai в виртуальное окружение

Путь от чистой машины до первого ответа модели
Путь от чистой машины до первого ответа модели

Виртуальное окружение — отдельная папка с копией интерпретатора и своим набором библиотек. Без него все проекты делят один системный Python, и обновление пакета под один проект ломает соседний. Заводится оно двумя командами.

Windows (PowerShell или командная строка):

py -m venv venv
venv\Scripts\activate
python -m pip install openai

macOS и Linux:

python3 -m venv venv
source venv/bin/activate
python -m pip install openai

После активации в начале строки терминала появляется (venv). Это единственный видимый признак, что вы ставите пакет туда, куда собирались. Нет скобок — окружение не активировано, и установка уйдёт в системный Python.

Форма python -m pip install надёжнее короткой pip install: она запускает pip тем интерпретатором, который вы назвали явно. Голая команда pip берётся из PATH и на машине с двумя-тремя Python может указывать куда угодно — это и есть источник классического «пакет установлен, но не импортируется».

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

python -m pip show openai

Команда печатает установленную версию и путь в поле Location. Путь должен вести внутрь папки venv вашего проекта. Если ведёт в системные каталоги — окружение не активно.

Нужна конкретная версия (например, проект собран под неё):

python -m pip install openai==2.53.0
python -m pip install --upgrade openai

Первая строка фиксирует версию, вторая обновляет до последней. Зафиксированную версию имеет смысл записать в requirements.txt — тогда сборка на другой машине повторится один в один.

Если Python вы ставите с нуля, начните с общей картины инструментов: у нас разобрано, как создать программу на компьютере самому — там про выбор среды и первый запуск кода.

Итог раздела: окружение активировано, pip show показывает версию 2.x и путь внутрь проекта. Теперь пакету нужен ключ.

Ключ API: где создать и куда положить

Ключ создаётся в личном кабинете разработчика на сайте OpenAI. Официальный порядок в документации описан тремя шагами: создать ключ в дашборде, сохранить его в надёжном месте — «Store the key in a safe location, like a .zshrc file or another text file on your computer» — и выставить переменной окружения. Показывается ключ ровно один раз, при создании; потерянный ключ не восстанавливают, а выпускают заново.

Команда из документации для macOS и Linux:

export OPENAI_API_KEY="your_api_key_here"

Для Windows:

setx OPENAI_API_KEY "your_api_key_here"

Разница между ними существеннее, чем кажется. export живёт до закрытия терминала — чтобы переменная поднималась сама, строку дописывают в ~/.zshrc или ~/.bashrc. setx, наоборот, пишет значение в реестр пользователя навсегда, но не применяется к текущему окну: нужно закрыть терминал и открыть заново, иначе скрипт по-прежнему не увидит ключ.

Проверить, что переменная поднялась: echo $OPENAI_API_KEY в bash или zsh, echo %OPENAI_API_KEY% в командной строке Windows.

Зачем вообще переменная, если можно вписать строку в код. Затем, что ключ в исходнике уезжает в репозиторий, в скриншот и в переписку с коллегой, а платит по нему владелец. Клиент библиотеки читает OPENAI_API_KEY из окружения сам, без единой строки настройки, — в примере официального README параметр помечен комментарием «This is the default and can be omitted». Локальной альтернативой служит файл .env рядом с проектом плюс пакет python-dotenv; главное — внести .env в .gitignore.

Отдельно про деньги: ключ и платная подписка ChatGPT — разные вещи. Доступ к API оплачивается отдельно, на балансе организации в кабинете разработчика. Про способы оплаты подписки и связанные с ними риски у нас есть отдельный разбор — оплата ChatGPT из России.

Мини-вывод: рабочая связка — ключ выпущен в дашборде, положен в переменную окружения, терминал перезапущен, в коде ключа нет.

Официальный сайт OpenAI и документация по пакету

Компании принадлежат два адреса, и путать их дорого. Корпоративный сайт — openai.com: продукты, новости, страница ChatGPT. Всё, что касается API и библиотек, живёт в разделе для разработчиков: там кабинет с ключами, тарификация и справка. Прямой адрес быстрого старта — developers.openai.com/api/docs/quickstart, и именно оттуда взяты команды выше.

Практическое следствие: ссылки вида beta.openai.com из статей 2023 года ведут в никуда — структура сайта с тех пор переехала дважды. Ориентируйтесь на два корня, openai.com для продуктов и developers.openai.com для API.

Первый запрос из Python

Настоящая проверка установки — живой ответ от модели, импорт ещё ничего не доказывает. Минимальный скрипт из официального быстрого старта:

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.6",
    input="Write a one-sentence bedtime story about a unicorn.",
)

print(response.output_text)

Разбор по строкам. OpenAI() без аргументов — клиент сам берёт ключ из OPENAI_API_KEY. responses.create — метод текущего Responses API. model — идентификатор модели: он меняется чаще всего остального, актуальный список смотрите на странице моделей в документации. response.output_text — готовая строка ответа, разбирать вложенный JSON вручную не нужно.

Второй поддерживаемый путь — Chat Completions, привычный тем, кто писал раньше. В README библиотеки этот интерфейс помечен как «The previous standard (supported indefinitely)». Тот же запрос через него, с тем же идентификатором модели, что и в примере выше:

from openai import OpenAI

client = OpenAI()

completion = client.chat.completions.create(
    model="gpt-5.6",
    messages=[
        {"role": "developer", "content": "Talk like a pirate."},
        {"role": "user", "content": "How do I check if a Python object is an instance of a class?"},
    ],
)

print(completion.choices[0].message.content)

Оба варианта рабочие. Для нового проекта берите первый: ответ достаётся одним полем. Для переноса старого кода — второй, он ближе к прежней структуре сообщений.

Сохраните файл как example.py и запустите python example.py. Пришёл текст — установка, ключ и сеть в порядке.

Код из старых учебников не запускается: что чинить

Три выхода, когда код написан под openai 0.x
Три выхода, когда код написан под openai 0.x

Самая частая поломка после свежей установки не связана с pip вообще. Человек ставит библиотеку 2.x, копирует пример из статьи или курса трёхлетней давности и получает исключение APIRemovedInV1 с текстом: «You tried to access openai.{symbol}, but this is no longer supported in openai>=1.0.0 — see the README at github.com/openai/openai-python for the API».

Причина в ноябрьском переписывании библиотеки 2023 года. Раньше вызовы шли от модуля целиком — openai.ChatCompletion.create(...), ключ присваивался как openai.api_key = .... С версии 1.0.0 всё идёт через объект-клиент, а ответ вернулся не словарём, а Pydantic-моделью. Соответствия из официального руководства по миграции:

Было (0.x) Стало (1.x и 2.x)
openai.api_key = os.environ['OPENAI_API_KEY'] client = OpenAI(api_key=os.environ['OPENAI_API_KEY'])
openai.ChatCompletion.create() client.chat.completions.create()
openai.Completion.create() client.completions.create()
openai.Embedding.create() client.embeddings.create()
completion['choices'][0]['text'] completion.choices[0].text
completion.get('usage') completion.usage.prompt_tokens

Вторая половина таблицы важна не меньше первой. Даже переписав вызов, на старом разборе ответа вы получите TypeError: объект больше не индексируется по строковому ключу. Обращение к полям — через точку, а весь ответ целиком печатается методом completion.model_dump_json(indent=2).

Здесь читателя ждёт ловушка, и расставила её сама библиотека. Текст исключения советует автоматический перенос:

You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.

Совет устарел вместе с кодом, который он чинит. Консольная утилита openai пропала из пакета начиная с версии 2.35.0 (6 мая 2026 года), в 2.34.0 она ещё была. В свежей установке 2.53.0 нет ни исполняемого файла openai в папке Scripts, ни модуля, который эта команда запускала:

python -c "import openai.cli"
ModuleNotFoundError: No module named 'openai.cli'

Значит, переносить код придётся руками по таблице выше. Если правок много и утилита всё же нужна, её берут из старой версии: pip install "openai<=2.34.0", затем openai migrate, затем возврат к текущей. На Windows у неё своё ограничение — она отвечает «Windows is not supported yet in the migration CLI» и требует WSL.

Крайний вариант — оставить старый код как есть, зафиксировав библиотеку той эпохи: pip install openai==0.28. Версии 0.28.0 и 0.28.1 залиты на PyPI 31 августа и 26 сентября 2023 года, и назвать их придётся явно: сам pip до них не опустится. Новые модели и Responses API там недоступны, обновлений у ветки не будет. Это отсрочка на время переписывания.

Мини-вывод: увидели openai.ChatCompletion — код старше версии 1.0.0. Либо таблица выше, либо осознанный откат на 0.28.

Типовые ошибки установки openai и что с ними делать

Ошибки на этом этапе однообразны: почти всё сводится к тому, что pip и запускающий скрипт интерпретатор — разные.

Что видно Причина Что сделать
'pip' is not recognized as an internal or external command (Windows) pip не прописан в PATH Запускать через py -m pip install openai. При переустановке Python отметить галочку «Add Python to PATH»
ModuleNotFoundError: No module named 'openai' после успешной установки Пакет ушёл в другой интерпретатор: не активировано venv либо в системе несколько Python Сверить пути: python -m pip show openai и в скрипте import sys; print(sys.executable). Пути должны совпадать
Встала версия ниже текущей (2.48.0, 2.2.0), и --upgrade её не поднимает Python старше 3.10: pip отдал последнюю сборку под ваш интерпретатор Обновить Python до 3.10+, пересоздать venv, поставить заново
error: externally-managed-environment (Linux, свежие macOS) Система защищает свой Python от установки пакетов Ставить в venv — это штатный способ; ломать защиту флагами не нужно
ImportError: cannot import name 'OpenAI' from 'openai' В окружении осталась 0.x, где класса OpenAI ещё нет python -m pip install --upgrade openai, затем проверить pip show openai
AuthenticationError при запуске Ключ не подхватился: терминал не перезапущен после setx, опечатка в имени переменной, ключ отозван Проверить echo, перезапустить терминал, при сомнении выпустить новый ключ
RateLimitError с упоминанием quota Ключ рабочий, но на балансе API нет средств Пополнить баланс в кабинете разработчика. Подписка ChatGPT сюда не считается
Запрос висит и падает по таймауту или SSL Сеть: прокси, корпоративный фильтр, региональные ограничения Проверить доступность сети до API вне Python; pip тут ни при чём

Два диагностических приёма закрывают большинство случаев. Первый: python -m pip show openai и python -c "import sys; print(sys.executable)" — если пути расходятся, вы ставили пакет не тому Python. Второй: python -c "import openai; print(openai.__version__)" — печатает версию, которую реально видит ваш код при импорте.

Если симптомы шире установки и ChatGPT не отвечает в браузере, причина обычно на стороне сервиса — разбор по признакам собран в отдельном материале: почему ChatGPT не работает.

Доступ к API из России

Пакет ставится где угодно: pip install openai тянет файлы с PyPI и от географии не зависит. Ограничение начинается на первом сетевом запросе. OpenAI публикует перечень поддерживаемых стран и территорий и предупреждает: «Accessing or offering access to our services outside of the countries and territories listed below may result in your account being blocked or suspended». России в этом перечне нет.

Отсюда практический вывод для тех, кто пишет из РФ: библиотека установится и импортируется без ошибок, а запрос вернёт ошибку доступа. Обходить это статья не учит — риски по аккаунту несёт владелец ключа. Когда нужен работающий ассистент и поставщик модели не принципиален, разумнее посмотреть в сторону моделей, доступных здесь без ухищрений: например, Гигачат от Сбера — у него свой Python-клиент и та же логика «ключ в переменной окружения, клиент, запрос».

ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
  • Где и как применять? Потестируем модель после установки на разных задачах
  • Как дообучить модель под себя?

Чек-лист: от нуля до первого ответа

  • python --version — версия 3.10 или выше.
  • py -m venv venv (Windows) или python3 -m venv venv (macOS, Linux) — создали окружение.
  • Активировали: в строке терминала видно (venv).
  • python -m pip install openai — поставили пакет.
  • python -m pip show openai — версия 2.x, путь ведёт в папку проекта.
  • Выпустили ключ в кабинете разработчика и скопировали сразу — второй раз его не покажут.
  • setx OPENAI_API_KEY "..." и перезапуск терминала либо export OPENAI_API_KEY="..." в профиле оболочки.
  • Ключа в коде нет, .env — в .gitignore.
  • Запустили скрипт с client.responses.create — получили текст.
  • Старый код с openai.ChatCompletion переписали по таблице соответствий.

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

Частые вопросы

Какой командой установить пакет openai в Python?

Командой pip install openai, а надёжнее — python -m pip install openai внутри активированного виртуального окружения. Форма с -m гарантирует, что пакет попадёт к тому интерпретатору, которым вы потом запускаете скрипт.

Какая версия Python нужна для библиотеки openai?

Python 3.10 или новее — это требование текущей версии 2.53.0. На более старом интерпретаторе pip без предупреждения поставит последнюю сборку, которая его ещё поддерживает: на Python 3.9 это openai 2.48.0, на Python 3.8 — openai 2.2.0. Синтаксис там уже новый, клиентский, но подняться до 2.53.0 такой интерпретатор не даст.

Почему появляется ошибка ModuleNotFoundError: No module named ‘openai’ после установки?

Пакет установлен в другой интерпретатор. Сравните python -m pip show openai и вывод import sys; print(sys.executable) из вашего скрипта: пути должны совпадать. Чаще всего причина в неактивированном виртуальном окружении.

Почему не работает openai.ChatCompletion.create?

Этот вызов удалён в версии 1.0.0. Вместо него создают клиент и обращаются к client.chat.completions.create(). Сообщение об ошибке советует команду openai migrate, но в текущих версиях пакета её нет — переносить код нужно вручную по таблице соответствий. Для отсрочки остаётся установка старой версии командой pip install openai==0.28.

Куда положить ключ API, чтобы библиотека его нашла?

В переменную окружения OPENAI_API_KEY: на Windows командой setx OPENAI_API_KEY "ключ" с последующим перезапуском терминала, на macOS и Linux строкой export OPENAI_API_KEY="ключ" в профиле оболочки. Клиент OpenAI() читает эту переменную сам, прописывать ключ в коде не нужно.

Работает ли пакет openai из России?

Установка проходит нормально, ограничение возникает на сетевом запросе: России нет в опубликованном OpenAI перечне поддерживаемых стран и территорий. Для задач, где поставщик модели не принципиален, стоит рассмотреть решения с доступом в РФ.

для id="пайтон2" двойной блок курсов не обнаружен

Читайте также

3 материала