Не удается открыть файл python38 lib

Обновлено: 06.07.2024

If I build CPython from source on Windows I encounter problems when I want to pip install a package that contains a C-Extension. It seems like the error happens while linking the libraries.

For example when installing cython (but it also crashes with the same error on other C extension packages):

LINK : fatal error LNK1104: cannot open file 'python38.lib'

error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.23.28105\bin\HostX86\x86\link.exe' failed with exit status 1104

The reason why it cannot open the "python38.lib" is because the ".lib" file in debug mode is called "python38_d.lib".

A minimal reproducible example would be (on the command-line) based on the Quick Reference of the CPython developer guide:

The resulting distutils.sysconfig.get_config_vars() is:

Is there something I'm missing? Is building C-Extensions on Python-debug builds on Windows simply not supported? If it is supported: how would I do it?

126k 30 30 gold badges 290 290 silver badges 308 308 bronze badges I mean distutils.config. You can inspect the provided values and see what is wrong. Sadly for next days I won’t be able to look into this problem @ead Thanks for the clarification. I included the values in the question.

2 Answers 2

This code is a little bit hacky, but works for me on MSVC19, allowing to debug application without building debug python libraries.

Linking against pythonXY.lib is a little bit sneaky on Windows. When you look at the command line for linking, you will see that no python-library is passed to the linker, i.e. 'link.exe`. Note: This is also the case for Linux, but on Linux one doesn't have to because the needed symbols will be provided by the python-executable.

However, it is easy to check via dumpbin /dependents resulting.pyd , that there is a dependency on pythonXY.dll , also adding extra_link_args = ["/VERBOSE:LIB"] to extension-definition and triggering verbose-mode of the linker will show that the linker uses pythonXY.lib .

As you can see, to link against the debug version, one needs to define _DEBUG .

_DEBUG is automatically defined by distutils on Windows, if build_ext is called with options --debug , e.g.

which can be interpreted roughly as: trigger build command (which also includes build_ext -command) with option --debug prior to installing.

Another subtility when building debug C-extensions, there is more to it on Windows:

Having defined Py_DEBUG macro meant incompartible ABIs until Python3.8, because it also assumed Py_TRACE_REFS which leads to different memory layout of PyObject and some additional functionality missing in the release-mode.

Я прочитал, что мне следует скачать версию Python для разработки, но я не нашел ссылку для этого, плюс мне не нужно просто скопировать файл 'python27_d.lib' в папку "libs"?

Обратите внимание, что я использую дистрибутив Python для Anaconda.

Вы уже устранили проблему включения компилятора, теперь найдите файл python27_d.lib в проводнике Windows и добавьте этот путь в путь Дополнительные зависимости библиотеки. Он находится под Конфигурация -> Линкер -> Общие -> Дополнительные каталоги библиотек.

«_D» указывает на то, что это библиотека отладки, поэтому вы захотите, чтобы она была для вашей конфигурации отладки, а другая без «_d» (вероятно) для вашей конфигурации выпуска.

Переведите Visual Studio в режим выпуска вместо отладки.

Вам не обязательно использовать отладочную сборку Python . [даже если вы не пользуетесь бустом], я бы взглянул на документацию boost.python, где есть оболочка для Python.h, которая обрабатывает все отладки Windows проблемы, так что вы можете построить отладочное расширение на выпуске Python DLL.

В Visual studio вам необходимо добавить «Дополнительные каталоги включения» для проекта. Шаги ниже. щелкните правой кнопкой мыши по проекту -> свойства -> c / c ++ -> дополнительные каталоги включения -> укажите папку «Python \ include» (например, c: \ python \ include).

Постоянный стимул для меня [надеюсь, в конечном итоге] выяснить, как заставить Boost.Python работать в моей системе, заключается в том, что в дистрибутив Anaconda включено много отличных научных пакетов Python [SymPy, Numpy, SciPy, matplotlib и т. Д.]. и было бы здорово получить к ним доступ из проектов C ++, созданных с помощью Qt Creator. И документы Boost, похоже, предполагают, что Boost.Python должен сделать это для меня. Увы, эти документы, похоже, не учитывают критических деталей, которые авторы считают слишком тривиальными, чтобы упоминать о них .

Во всяком случае, изначально я получил ошибку сборки, указывающую на то, что python.h не может быть найден. Я избавился от этого, добавив эти два оператора в файл .pro моего проекта Qt Creator, который сообщает qmake, где Boost установил свои включаемые файлы и где Anaconda установил свой файл python.h в моей системе:

После этого я получил ошибку LNK1104, указывающую, что «python27.lib» не может быть найден. Я избавился от этого, добавив эти два утверждения в мой файл .pro. Первый говорит qmake, где найти файл python27.lib Анаконды. Второй сообщает qmake, где найти двоичный файл boost.python:

Я обычно обхожу это путем использования не отладочной Python-библиотеки в отладочных сборках. Как правило, это приводит к следующему коду:

Пользователи часто недоумевают, потому что программы, которые только недавно работали, не запускаются. Например, были запущены Photoshop и Skype, но теперь появляется ошибка "Программа не запускается, потому что python38.dll отсутствует на вашем компьютере.

Что мне делать? Как мне ее вернуть? Как и где скачать python38.dll и куда ее положить? Ответы на все ваши вопросы здесь!

Что такое python38.dll?

"Python38.dll пропущена" - это достаточно стандартная ошибка на Windows PC. Чаще всего проблема заключается в установке обновления Windows и неудачной установке некоторой программы.:

A .dll файл (Dynamic Link Library) функционирует, когда конкретной программе нужен этот .dll файл. Если он поврежден/пропущен, пользователи видят, например, ошибку python38.dll, которая приводит к аварийному завершению работы. Стоит добавить, что python38.dll - это файл, используемый в дистрибутиве Visual C++ Redistributable для Visual Studio 2015.:

При появлении уведомления о пропущенном файле пользователи начинают поиск загрузки python38.dll. Лучше делать это в проверенном месте, например на сайте DLL Kit, где нет ни угроз, ни вирусов.:

Самые распространенные ошибки с python38.dll файлом на Windows

  • :Файл Dll удален/поврежден. Основная причина - удален или поврежден важный для приложения .dll файл. Вам необходимо восстановить файл или скачать его еще раз.
  • Ошибка в облаке Adobe. Проблема вызвана поломкой Visual C ++.
  • Файлы Visual Studio 2015 повреждены/пропущены. Файл .dll отсутствует на компьютере или поврежден приложением/системой/вирусом.
  • Система ПК заражена вирусами. Вредоносные программы и вирусы всегда повреждают файл python38.dll.
  • В нем повреждены системные файлы. Ошибки и повреждения возникают после некорректной перезагрузки Windows и работы с зараженными программами и приложениями.

Другие распространенные Python38.dll ошибки включают:

  • “Python38.dll пропущена“
  • “Python38.dll ошибка загрузки“
  • “Python38.dll крах“
  • “Python38.dll не найдена“
  • “Python38.dll не удалось обнаружить“
  • “Python38.dll Нарушение Доступа“
  • “Точка входа в процедуру Python38.dll error“
  • “Не получается найти Python38.dll“
  • “Не могу зарегистрировать Python38.dll“

метод 1: Загрузить python38.dll автоматически

Не знаете, какая версия python38.dll вам нужна? Не волнуйтесь; используйте автоматический метод для решения проблемы или просто прочитайте статью ниже.

Для этого метода скачайте python38.dll по нашей ссылке и используйте командную строку, чтобы зарегистрировать отсутствующую python38.dll:

  • Одновременно нажмите клавиши Windows и R на клавиатуре - появится окно Run - введите cmd - нажмите Ctrl+Shift+Enter - перед вами появится командная строка с правами администратора.
  • Когда появится запрос, необходимо разрешить командной строке вносить изменения, поэтому нажмите Yes.
  • Теперь удалите файл реестра (введите или скопируйте команду regsvr32 /u python38.dll, а затем нажмите Enter).
  • Теперь зарегистрируйте файл: введите команду regsvr32 python38.dll и нажмите Enter.
  • Закрыть командную строку и запустить приложение.

PYTHON38.DLL ВЕРСИИ

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
3.8.5150.1013 32bit 3.86 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
3.8.3150.1013 64bit 4.01 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
3.8.2150.1013 32bit 3.75 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
3.8.150.1013 32bit 3.74 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
3.8.1150.1013 32bit 3.74 MB MD5 SHA1

Какая версия python38.dll правильная?

Посмотрите на описания в таблице, где можно выбрать нужный файл. Существуют версии для 64-битной или 32-битной Windows и используемые в них языки. Выберите те dll-файлы, язык которых идентичен языку самой программы. Загрузите последние версии dll-файлов для своей программы.

Where should you place python38.dll?

Ошибка "python38.dll пропущена" будет исправлена, если переместить файл в папку установки приложения или игры. Также можно переместить python38.dll в системный каталог Windows.

Если этот метод не помогает, используйте следующий.

метод 3: Переустановить Visual C++ Redistributable for Visual Studio 2015

Мы рекомендуем переустановить переустановку дистрибутива Visual C++ для Visual Studio 2015. Пожалуйста, придерживайтесь рекомендаций Microsoft по правильной установке отсутствующих файлов.

Рекомендуется скачать программу с официального сайта Microsoft:

  • Вам необходимо скачать Microsoft Visual C++ Redistributable с официального сайта Microsoft.
  • Выберите файл для вашей версии Windows: vc_redist.x64.exe для 64-битной версии или vc_redist.x86.exe для 32-битной операционной системы. Установите флажок рядом с файлом и нажмите кнопку Next.
  • Открыть файл - прочитать условия лицензирования программного обеспечения Майкрософт - согласиться - выбрать пункт Установить.

Если этот метод не помогает, используйте следующий.

Список некоторых исполняемых файлов библиотеки Visual C++

  • mfc140u.dll
  • mfcm140.dll
  • mfcm140u.dll
  • mfc140chs.dll
  • mfc140cht.dll
  • ucrtbase.dll
  • vcruntime140.dll
  • msvcp140.dll
  • concrt140.dll
  • vccorlib140.dll
  • vcamp140.dll

Вот некоторые решения по исправлению ошибки "python38.dll is Missing". Пожалуйста, прочитайте все инструкции и следуйте им, чтобы успешно добавить конкретную версию файла .dll в Windows для восстановления python38.dll проблемы.

метод 4: Запустить SFC сканирование (System File Checker)

Проверка системных файлов (SFC scan) - инструмент, доступный в Windows. Устройство считается самым быстрым способом автоматического исправления поврежденных системных файлов. Для запуска необходимо запустить его:

Если этот метод не помогает, используйте следующий.

метод 5: Обновить Windows до последней версии

Даже простое обновление Windows может помочь решить эту проблему. Обновляя операционную систему до последней версии, все ошибки python38.dll могут исчезнуть:

  • Открыть настройки из меню Пуск или с помощью комбинации клавиш Windows+I.
  • Перейти к обновлению и безопасности.
  • В закладке Windows Update нажмите Check for updates.
  • Новое обновление найдено - Установить сейчас.

Если этот метод не помогает, используйте следующий.

метод 6: Переустановить нужное приложение

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

  • Перейти в Settings с помощью меню Start или нажатием Windows+I.
  • Click on Apps.
  • Найти нужное проблемное приложение - щелкните по нему один раз - в его настройках, выберите опцию Uninstall и продолжайте следовать продемонстрированным инструкциям.
  • Перезагрузите программу и переустановите ее из проверенного источника.

Если этот метод не помогает, используйте следующий.

Выводы

Файл python38.dll из Python Software Foundation является частью Python. python38.dll, расположенный в C:/program files/anki/ с размером файла 4205584 байт, версия файла 3.8.6, подпись 3cd1e87aeb3d0037d52c8e51030e1084.

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт "Clean Junk Files".
  3. Когда появится новое окно, нажмите на кнопку "start" и дождитесь окончания поиска.
  4. потом нажмите на кнопку "Select All".
  5. нажмите на кнопку "start cleaning".

Clean Registry to fix python38.dll has stopped working error

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт "Fix Registry problems".
  3. Нажмите на кнопку "select all" для проверки всех разделов реестра на наличие ошибок.
  4. 4. Нажмите на кнопку "Start" и подождите несколько минут в зависимости от размера файла реестра.
  5. После завершения поиска нажмите на кнопку "select all".
  6. Нажмите на кнопку "Fix selected".
    P.S. Вам может потребоваться повторно выполнить эти шаги.

3- Настройка Windows для исправления критических ошибок python38.dll:

Clean Registry to fix python38.dll has stopped working error

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите " Advanced system settings".
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку "data Execution prevention".
  5. Выберите опцию " Turn on DEP for all programs and services . " .
  6. Нажмите на кнопку "add" и выберите файл python38.dll, а затем нажмите на кнопку "open".
  7. Нажмите на кнопку "ok" и перезагрузите свой компьютер.
Как другие пользователи поступают с этим файлом?

Всего голосов ( 182 ), 115 говорят, что не будут удалять, а 67 говорят, что удалят его с компьютера.

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