Найти - Пользователи
Полная версия: Python3 Не видит своих DLL
Начало » Python для экспертов » Python3 Не видит своих DLL
1
ice
Доброго времени суток.

Поставил себе 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.


Что еще надо ему?
bialix
уберите другие питоны из путей
ice
Другие это какие? У меня только этот стоит.
sys.path он сам нарисовал.
bialix
покажите os.environ
ice
>>> 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'
ice
Похоже проблема в чем-то еще, а не в путях. сам файл _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 мне показывается.
bialix
pyd – и есть обычная dll с бинарной точки зрения.

и скорее всего чего-то не хватает остальным системным dll.
ice
Да, уже разобрался. Не работает msvcr90.dll. ее надо редестрибьютить или как-то так. Проблем с этой dll по инету нашел кучу, решения пока не нашел нормального :(
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB