Как собрать PyCurl на MACOSX 10.11.6 без ошибок

Я безуспешно пытаюсь собрать Pycurl для версии libcurl (7.53.1).

Я использую MACOSX El Capitan v10.11.6.

Я даже не уверен, что на данный момент я согласен с OpenSSL. Возможно, мне потребуется убедиться, что OpenSSL правильно установлен, и собрать Curl с OpenSSL. Наконец, создайте Pycurl с правильным Curl.

За мной следили за парой треков в сети, но ни один из них не привел меня туда, где мне нужно быть.

Что было бы лучшим вариантом для решения этой проблемы со сборкой?

Журнал:

users-MBP-2:~ mickael$ sudo easy_install pycurl 
Password:
Searching for pycurl
Reading https://pypi.python.org/simple/pycurl/ Best match: pycurl 7.43.0
Downloading https://pypi.python.org/packages/12/3f/557356b60d8e59a1cce62ffc07ecc03e4f8a202c86adae34d8958262 81fb/pycurl-7.43.0.tar.gz#md5=c94bdba01da6004fa38325e9bd6b9760
Processing pycurl-7.43.0.tar.gz
Writing /tmp/easy_install-tmm5sV/pycurl-7.43.0/setup.cfg
Running pycurl-7.43.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tmm5sV/pycurl-7.43.0/egg-dist- tmp-Yj_ArM
Using curl-config (libcurl 7.53.1)
warning: no files found matching 'src/Makefile'
In file included from src/docstrings.c:4:
In file included from src/pycurl.h:32:
In file included from /usr/local/Cellar/curl/7.53.1/include/curl/curl.h:39: /usr/local/Cellar/curl/7.53.1/include/curl/curlrules.h:143:6: error: '__curl_rule_01__' declared as an array with a negative
size
[CurlchkszEQ(long, CURL_SIZEOF_LONG)];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/Cellar/curl/7.53.1/include/curl/curlrules.h:132:27: note: expanded from macro 'CurlchkszEQ' #define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/curl/7.53.1/include/curl/curlrules.h:153:6: error: '__curl_rule_02__' declared as an array with a negative
size
[CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/Cellar/curl/7.53.1/include/curl/curlrules.h:132:27: note: expanded from macro 'CurlchkszEQ' #define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
^~~~~~~~~~~~~~~~~~~~~~~ In file included from src/docstrings.c:4:
src/pycurl.h:190:5: warning: "libcurl was compiled with SSL support, but configure could not determine
which " "library was
used; thus no SSL crypto locking callbacks will be set, which may "
requests" [-W#warnings]
# warning \ ^
1 warning and 2 errors generated.
error: Setup script exited with error: command 'cc' failed with exit status 1
"cause random crashes on SSL

person MTI    schedule 19.04.2017    source источник


Ответы (1)


Хорошо, определенно есть некоторые проблемы при создании Pycurl. Вот шаги, которые я предпринял:

  1. Убедитесь, что OpenSSL установлен (если не используете Brew: brew install openssl).

  2. Перестройте Curl с помощью OpenSSL, помните, что Curl не создается с OpenSSL по умолчанию на MacOsX/El Capitan, вместо этого используется SecureTransport. (попробуйте: brew install --force curl --with-openssl)

  3. Перестройте Pycurl с помощью «pip». У меня был успех с pip, но не с easy_install. (попробуйте: sudo env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" pip install pycurl)

Pycurl установлен в: /Library/Python/2.7/site-packages/pycurl.so

Установленная версия: pycurl-7.43.0

person MTI    schedule 24.04.2017