Содержание
- Что именно устанавливает pip install openai
- Установка пакета openai в виртуальное окружение
- Ключ API: где создать и куда положить
- Официальный сайт OpenAI и документация по пакету
- Первый запрос из Python
- Код из старых учебников не запускается: что чинить
- Типовые ошибки установки openai и что с ними делать
- Доступ к API из России
- Чек-лист: от нуля до первого ответа
- Частые вопросы
Python. Установка пакета OpenAI
Черновик готовит редакция с помощью ИИ. За стандарт издания отвечает главный редактор — Валерий Курземнек.
Пакет ставится одной командой — 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. Пришёл текст — установка, ключ и сеть в порядке.
Код из старых учебников не запускается: что чинить

Самая частая поломка после свежей установки не связана с 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 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
- Где и как применять? Потестируем модель после установки на разных задачах
- Как дообучить модель под себя?
Чек-лист: от нуля до первого ответа
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 перечне поддерживаемых стран и территорий. Для задач, где поставщик модели не принципиален, стоит рассмотреть решения с доступом в РФ.
