Подтвердить что ты не робот

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. Я снова удалил, удалил папку, затем переустановил и теперь работает. Спасибо за помощь.

4b9b3361

Ответ 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