Import _socket: "Ошибка импорта: ошибка загрузки DLL"
Я пытался установить Django и pymc вчера. После множества проблем я решил просто переустановить Python 2.7. Я сделал это, но теперь у меня проблемы с импортом почти ничего. Я получаю кучу строк, последний из которых:
File "c:\python27\lib\httplib.py", line 71, in <module>
import socket
File "c:\python27\lib\socket.py", line 47, in <module>
import _socket
ImportError: DLL load failed: The specified procedure could not be found.
Я запускаю python в командной строке (который работает) и пытается сделать import pip
, или введите внешнюю оболочку python get-pip.py
. Я получаю те же самые последние строки.
Я должен указать для записи, что у меня есть две версии python на моей машине, одна из которых равна 2.7, а другая - THINK 2.6, расположенная в папке с навесом, но это тоже не работает, в результате чего появляется сообщение об ошибке `ImportError: Нет модуля с именем os ". У меня есть переменная среды PATH, ведущая с" c:\python27; c:\python27\scripts".
Я снова установил python пару раз и попробовал вариант ремонта, но безрезультатно. У кого-нибудь есть идеи?
EDIT: Кажется, что когда я удалил Python, я забыл удалить папку C:\Python27. Я снова удалил, удалил папку, затем переустановил и теперь работает. Спасибо за помощь.
Ответы
Ответ 1
У меня была такая же ошибка после обновления до python 2.7.12.
Чтобы решить эту проблему, я сделал еще одну установку в тот же каталог. Интересно, что установщик не распознал существующую установку. Я постарался проверить "добавить python.exe в Path". После этого все сработало.
Пытаясь снова установить python 2.7.12, установщик распознал существующую установку и предложил мне изменить/восстановить/удалить параметры.
Обновление:
В ретроспективе, возможно, была причина, что я непреднамеренно смешал 32-битную установку с 64-разрядным обновлением (или наоборот). Python, похоже, не устанавливается в разные каталоги или не использует разные DLL-имена. Установщик также не предупреждает вас. Поэтому после обновления ваши библиотеки DLL представляют собой нездоровое сочетание 32 и 64-битных вариантов.
Ответ 2
У меня такая же проблема, после того, как я смешиваю среду py2 & py3 (окна 10), обманул ее:
1. Uninstall all py2 & py3
2. install py 2.7.14 win32 (now newest)
3. add following enviroment varaible to system Path & PythonPath:
1) C:\Python27
2) C:\Python27\Script
3) C:\Python27\Lib
4) C:\Python27\DLLs
ref: здесь
Ответ 3
Я бы предложил получить, PyWin32 или PyWin64, в зависимости от вашей архитектуры системы. Если ваша система x86, получите PyWin32, иначе получите PyWin64, если ваша система x64. У меня тоже есть проблемы, и PyWin32 помог мне в устранении этих проблем.
Ответ 4
import sys
sys.path.append("address where the socket module is present like C:\Python34\Lib\")
import socket
попробуйте, это может сработать
Ответ 5
Кажется, это проблема с Python 2.7.13 как этот момент. Установка 2.7.12 исправила его для меня.
Ответ 6
На самом деле его внешний вид, как импорт вызовов _socket, не прошел, что вызывает эту ошибку
ImportError: ошибка загрузки DLL
get-pip.py функция b85decode() пытается импортировать _socket, который не найден,
Решение этого заключается в том, что вы можете установить любую версию 3.X и запустить get-pip.py, которая должна устранить проблему и установить протокол.
C:\Python33 > python.exe C:\get-pip.py
Сбор пика Загрузка pip-7.1.2-py2.py3-none-any.whl(1.1MB) 100% | ################################## | | 1.1MB 197kB/s
Установка собранных пакетов: pip, setuptools, wheel
Успешно установлен pip-7.1.2 setuptools-18.5 wheel-0.26.0