Не удается открыть файл 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.
- Запустите приложение Asmwsoft Pc Optimizer.
- Потом из главного окна выберите пункт "Clean Junk Files".
- Когда появится новое окно, нажмите на кнопку "start" и дождитесь окончания поиска.
- потом нажмите на кнопку "Select All".
- нажмите на кнопку "start cleaning".
- Запустите приложение Asmwsoft Pc Optimizer.
- Потом из главного окна выберите пункт "Fix Registry problems".
- Нажмите на кнопку "select all" для проверки всех разделов реестра на наличие ошибок.
- 4. Нажмите на кнопку "Start" и подождите несколько минут в зависимости от размера файла реестра.
- После завершения поиска нажмите на кнопку "select all".
- Нажмите на кнопку "Fix selected".
P.S. Вам может потребоваться повторно выполнить эти шаги.
3- Настройка Windows для исправления критических ошибок python38.dll:
- Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
- В меню слева выберите " Advanced system settings".
- В разделе «Быстродействие» нажмите на кнопку «Параметры».
- Нажмите на вкладку "data Execution prevention".
- Выберите опцию " Turn on DEP for all programs and services . " .
- Нажмите на кнопку "add" и выберите файл python38.dll, а затем нажмите на кнопку "open".
- Нажмите на кнопку "ok" и перезагрузите свой компьютер.
Всего голосов ( 182 ), 115 говорят, что не будут удалять, а 67 говорят, что удалят его с компьютера.
Читайте также: