В этой статье
Ошибка ModuleNotFoundError: No module named 'openai' при import openai означает, что запущенный Python не нашёл этот модуль. Начните с интерпретатора, который выполняет ваш скрипт: установка пакета в другой Python не решит ошибку в текущем окружении.
Речь о библиотеке для OpenAI API. Официальный пакет устанавливается как openai; текущая документация требует Python 3.10 или новее. Она проверена 10 сентября 2026 года. OpenAI Python SDK.
Проверьте, какой Python запускается
В терминале, из которого запускаете скрипт, выполните:
python -c "import sys; print(sys.executable); print(sys.version)"
python -m pip show openai
Если ваша команда запуска — python3, используйте python3 в обеих строках. Если программа запускается из редактора или ноутбука, выполните там:
import sys
print(sys.executable)
print(sys.version)
Сравните путь с терминалом. Например, редактор использует Python проекта из .venv, а команда pip относится к общей установке Python. Сообщение «пакет уже установлен» в общей установке не подтверждает его наличие в .venv.
python -m pip запускает pip через указанный Python. Поэтому в дальнейших командах используйте один и тот же интерпретатор для установки и программы. Как запускается pip.
Установите openai и проверьте импорт
Если нужное окружение уже выбрано, выполните в терминале:
python -m pip install openai
python -c "import openai; print(openai.__version__); print(openai.__file__)"
Первая команда устанавливает пакет, вторая импортирует его и выводит версию и путь. Это не запрос к API. Для проверки импорта не нужно добавлять ключ в команду. Имя openai в установке и импорте совпадает. Установка официального SDK.
Если проект фиксирует зависимости, сначала следуйте его файлу зависимостей. Не заменяйте указанную версию произвольной новой только ради устранения ошибки. Для проекта с requirements.txt порядок установки может выглядеть так:
python -m pip install -r requirements.txt
После установки повторите импорт тем же Python. Файл requirements.txt должен существовать в указанном месте и действительно включать зависимости вашего проекта. Установка из файла требований.
Для нового проекта используйте отдельное окружение
Если проекта ещё нет, создайте для него отдельную папку и выполните команды из неё. Окружение .venv хранит свой набор пакетов. Активировать его необязательно: можно обращаться к его Python по пути. Документация venv.
В Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install openai
.\.venv\Scripts\python.exe -c "import openai; print(openai.__version__); print(openai.__file__)"
В macOS или Linux:
python3 -m venv .venv
./.venv/bin/python -m pip install openai
./.venv/bin/python -c "import openai; print(openai.__version__); print(openai.__file__)"
Первую команду выполняйте подходящим Python 3.10+. Не создавайте заново окружение действующего проекта, если оно уже настроено: выясните, какой интерпретатор выбран для запуска.
Сохраните следующий код в check_sdk.py в папке проекта, вне .venv:
import sys
import openai
from openai import OpenAI
print("Python:", sys.executable)
print("SDK version:", openai.__version__)
print("SDK file:", openai.__file__)
print("Client class:", OpenAI.__name__)
Запустите его через .\.venv\Scripts\python.exe check_sdk.py в Windows или ./.venv/bin/python check_sdk.py в macOS/Linux. Здесь класс клиента только импортируется; экземпляр клиента и сетевой запрос не создаются.
Если пакет установлен, а ошибка осталась
| Наблюдение | Следующая проверка |
|---|---|
| В терминале импорт работает, в редакторе нет | Сравните sys.executable в обоих местах и выберите окружение проекта в редакторе |
| В ноутбуке ошибка, а терминал видит пакет | Проверьте Python ядра ноутбука; установка должна относиться к нему, затем перезапустите ядро |
| В контейнере или на сервере ошибка, локально всё работает | Проверьте установку зависимости внутри среды запуска; локальные пакеты туда сами не переносятся |
| Вместо версии импортируется ваш файл | Проверьте openai.__file__ и имя собственного скрипта |
pip install завершился ошибкой |
Сначала разберите её полный текст; установка не считается успешной по одной запущенной команде |
Не называйте свой проверочный скрипт openai.py: файл с таким именем может перекрыть библиотеку. Python ищет модули по путям импорта, а папка запускаемого скрипта стоит перед библиотечными путями. Если импорт указывает на ваш одноимённый файл, переименуйте его, перезапустите процесс и повторите проверку. Порядок поиска модулей.
Читайте имя отсутствующего модуля в последней строке ошибки. Если там уже другая библиотека, это другой отсутствующий компонент. Сообщения cannot import name OpenAI и No module named 'openai' также не тождественны: в первом случае нужно проверить, откуда импортируется пакет и какая версия установлена.
Что проверено для этой статьи
В локальном Python 3.13.0 на Windows 10 команда python -m pip show openai вернула Package(s) not found: openai, а импорт — ModuleNotFoundError: No module named 'openai'. Оба действия выполнялись одним интерпретатором. Это реальное воспроизведение отсутствующего пакета, сохранённое в материалах проверки.
Установку пакета и API-запрос в этом окружении автор не выполнял. Команды установки сверены с документацией; успешный импорт читатель проверяет после их выполнения.
Проверка исправления состоит из двух шагов: тем же Python успешно выполнить check_sdk.py, затем повторить исходный скрипт. Если после этого появилась ошибка ключа, лимита или модели, импорт уже прошёл, а следующая проблема относится к работе с API.
После проверки импорта можно настроить первый запрос к OpenAI API и отдельно проверить ключ и ответ сервера.
Проверить детали
Источники материала
- OpenAI Python API libraryOpenAI
- pip User GuidePython Packaging Authority
- venv — Creation of virtual environmentsPython Software Foundation
- 6. ModulesPython Software Foundation
Функции и условия сервисов меняются. Дата сверки указана в начале статьи. Как подготовлен материал