Уведомления

Группа в Telegram: @pythonsu

#1 Март 24, 2008 13:44:48

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

Доброго времени суток.

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

Офлайн

#2 Март 25, 2008 07:46:51

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

уберите другие питоны из путей



Офлайн

#3 Март 25, 2008 08:34:02

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

Другие это какие? У меня только этот стоит.
sys.path он сам нарисовал.



Офлайн

#4 Март 25, 2008 10:18:08

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

покажите os.environ



Офлайн

#5 Март 25, 2008 12:43:21

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

>>> 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'



Офлайн

#6 Март 25, 2008 12:55:23

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

Похоже проблема в чем-то еще, а не в путях. сам файл _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)

Офлайн

#7 Март 26, 2008 00:30:46

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

pyd – и есть обычная dll с бинарной точки зрения.

и скорее всего чего-то не хватает остальным системным dll.



Офлайн

#8 Март 26, 2008 08:20:41

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python3 Не видит своих DLL

Да, уже разобрался. Не работает msvcr90.dll. ее надо редестрибьютить или как-то так. Проблем с этой dll по инету нашел кучу, решения пока не нашел нормального :(



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version