Форум сайта python.su
Доброго времени суток.
Поставил себе python3 на работе на виндовс. Столкнулся с проблемой:
>>> import urllib2
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “C:\Python30\lib\urllib2.py”, line 92, in <module>
import httplib
File “C:\Python30\lib\httplib.py”, line 71, in <module>
import socket
File “C:\Python30\lib\socket.py”, line 45, in <module>
import _socket
ImportError: DLL load failed: The system cannot find the file specified.
файл _socket.pyd и _socket.lib есть. Пути до их директорий прописаны как в переменных окружениях, так и в sys.path
>>> sys.path
['', ‘C:\\Python30\\python30.zip’, ‘C:\\Python30\\DLLs’,
'C:\\Python30\\lib', ‘C:\\Python30\\lib\\plat-win’,
'C:\\Python30\\lib\\lib-tk', ‘C:\\Python30’,
'C:\\Python30\\lib\\site-packages']
на самом python.org написано, что достаточно сделать set path=%path%;C:\python30, только это не работает :((
Да еще: Все с зависимостями _socket.pyd нормально. тоесть python30.dll и msvcr90.dll есть по путям.
та же ситуация и с bz2
>>> import bz2
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
ImportError: DLL load failed: The system cannot find the file specified.
Что еще надо ему?
Отредактировано (Март 24, 2008 13:55:20)
Офлайн
уберите другие питоны из путей
Офлайн
Другие это какие? У меня только этот стоит.
sys.path он сам нарисовал.
Офлайн
покажите os.environ
Офлайн
>>> os.environ
'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Program Files\\Common Files\\GTK\\2.0\\bin;C:\\Python30;C:\\Python30\\DLLs;C:\\Python30\\libs;C:\\windows\\;C:\\windows\\system32\\;C:\\python30'
Офлайн
Похоже проблема в чем-то еще, а не в путях. сам файл _socket.pyd не может загружаться :((
rundll32 C:\Python30\DLLs\_socket.pyd init_socket
выдает что The system cannot find the file specified.
Что-то еще ему, вероятно нужно.
сам файл вполне нормальный (на первый взгляд) Dll:
TECHNICAL FILE INFORMATION :
File Type Description : Portable Executable (PE)
FILE CHARACTERISTICS :
File is executable (i.e. no unresolved external references)
Machine based on 32-bit-word architecture
File is a DLL
FILE HEADER :
Machine: 014Ch (i386 or later, and compatible)
В статичеких зависимостях только:
ws2_32.dll
kernel32.dll
python30.dll
msvcr90.dll
—————
Чъйорт! похоже не работает msvcr90.dll :(( если ее загружать то C++ RunTime Error мне показывается.
Отредактировано (Март 25, 2008 13:02:27)
Офлайн
pyd – и есть обычная dll с бинарной точки зрения.
и скорее всего чего-то не хватает остальным системным dll.
Офлайн
Да, уже разобрался. Не работает msvcr90.dll. ее надо редестрибьютить или как-то так. Проблем с этой dll по инету нашел кучу, решения пока не нашел нормального :(
Офлайн