Наверняка сейчас под windows pycurl у всех стоит вот с этого сайта , к сожалению, в этой версии есть такой неприятный баг, который неизвестно при каких условиях проявляется. Таким образом, необходимо собрать версию поновее, ибо больше сайтов со сборками pycurl я не видел.
Всё делал вот по этой статье http://curl.haxx.se/mail/curlpython-2009-11/0010.html за исключением небольшого ньюанса с ассемблером.
Для работы необходимо установить:
1) Visual Studio C++ Express (я ставил 2008).
2) Perl (я качал вот этот http://www.activestate.com/activeperl/downloads)
3) Ассемблер Nasm, а также добавить путь до bin в переменную path (брать отсюда http://www.nasm.us/)
Чтобы собрать pycurl нам надо собрать по статической библиотеке(.lib) из исходников для каждого из 3х составляющих, в скобках указаны версии которые я использовал:
zlib - http://www.zlib.net/ (1.2.7)
openssl - http://www.openssl.org/source/ (1.0.1с)
curl - http://curl.haxx.se/download.html (7.26.0)
И, конечно же, нам понадобятся исходники самого pycurl:
pycurl - http://pycurl.sourceforge.net/download/ (7.19.0)
Итак, создаем на диске С: в корне папку build и помещаем в неё все 4 папки:
Открываем Visual C++ Command Line, переходим в папку с zlib и прописываем: nmake -f win32\MakeFile.msc
Без проблем собирается и в корне появляется файл zlib.lib
На очереди openssl, переходим в его папку и прописываем команды:
1) perl Configure VC-WIN32
2) ms\do_nasm.bat
3) nmake -f ms\nt.mak
После компиляции в out32 должны появится два файла *.lib
Переходим в папку c curl и пишем: nmake vc-ssl-zlib WINDOWS_SSPI=1 VC=vc9 OPENSSL_PATH=С:\build\openssl-1.0.1c ZLIB_PATH=C:\build\zlib-1.2.7
Наконец, собираем pycurl. Для этого качаем скрипт, распаковываем содержимое архива в папку с pycurl, переходим с помощью командной строки в неё и пишем: python setup_win32_ssl_own.py --curl-dir=..\curl-7.26.0 --openssl-dir=..\openssl-1.0.1с --zlib-dir=..\zlib-1.2.7 bdist_msi
В папке dist должен появится файл pycurl-ssl-7.19.0.win32-py2.7.msi
Всё делал вот по этой статье http://curl.haxx.se/mail/curlpython-2009-11/0010.html за исключением небольшого ньюанса с ассемблером.
Для работы необходимо установить:
1) Visual Studio C++ Express (я ставил 2008).
2) Perl (я качал вот этот http://www.activestate.com/activeperl/downloads)
3) Ассемблер Nasm, а также добавить путь до bin в переменную path (брать отсюда http://www.nasm.us/)
Чтобы собрать pycurl нам надо собрать по статической библиотеке(.lib) из исходников для каждого из 3х составляющих, в скобках указаны версии которые я использовал:
zlib - http://www.zlib.net/ (1.2.7)
openssl - http://www.openssl.org/source/ (1.0.1с)
curl - http://curl.haxx.se/download.html (7.26.0)
И, конечно же, нам понадобятся исходники самого pycurl:
pycurl - http://pycurl.sourceforge.net/download/ (7.19.0)
Итак, создаем на диске С: в корне папку build и помещаем в неё все 4 папки:
- curl-7.26.0
- openssl-1.0.1с
- pycurl-7.19.0
- zlib-1.2.7
Открываем Visual C++ Command Line, переходим в папку с zlib и прописываем: nmake -f win32\MakeFile.msc
Без проблем собирается и в корне появляется файл zlib.lib
На очереди openssl, переходим в его папку и прописываем команды:
1) perl Configure VC-WIN32
2) ms\do_nasm.bat
3) nmake -f ms\nt.mak
После компиляции в out32 должны появится два файла *.lib
Переходим в папку c curl и пишем: nmake vc-ssl-zlib WINDOWS_SSPI=1 VC=vc9 OPENSSL_PATH=С:\build\openssl-1.0.1c ZLIB_PATH=C:\build\zlib-1.2.7
Наконец, собираем pycurl. Для этого качаем скрипт, распаковываем содержимое архива в папку с pycurl, переходим с помощью командной строки в неё и пишем: python setup_win32_ssl_own.py --curl-dir=..\curl-7.26.0 --openssl-dir=..\openssl-1.0.1с --zlib-dir=..\zlib-1.2.7 bdist_msi
В папке dist должен появится файл pycurl-ssl-7.19.0.win32-py2.7.msi
Доброго времени суток!
ОтветитьУдалитьУ меня не работает модуль. Когда я его импортирую, мне пишет dll не win32
http://clip2net.com/clip/m0/1346220751-clip-4kb.png
Гм, может в разрядности дело. python 32 нужен.
ОтветитьУдалитьДобрый день. наверное заработался и туплю, но "3) Ассемблер Nasm, а также добавить путь до bin в переменную path (брать отсюда http://www.nasm.us/)" можно подробнее про добавить путь до bin в переменную path. переменная %path% это та которая в nasmpath.bat? И путь до какого bin?
ОтветитьУдалитьПо-моему bin ассемблера в переменную Path Windows
ОтветитьУдалитьПрикрутил путь к nasm в системные переменные. и все равно при сборке openssl пишет:
ОтветитьУдалитьMicrosoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Building OpenSSL
nasm -f win32 -o tmp32\md5-586.obj tmp32\md5-586.asm
'nasm' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'nasm' : return code '0x1'
Stop.
Я вряд ли чем могу тебе помочь, во-первых, не помню, во-вторых сам в этом не очень разбираюсь, всё по инструкции делал.
ОтветитьУдалитьесли кто столкнется с такой же проблемой, решение получилось таким:
ОтветитьУдалить1. Привязка nasm в системные переменные ничего не дала.
2. Скопировал nasm.exe в папку к openSSL и заработало.
Здравствуйте. Необходим pycurl под x64, все попытки собрать, заканчивались печально. Не могу найти примеров сборки под x64, не подскажите в какую сторону копать???
ОтветитьУдалить