Pyenv: 3.2 установка не удалась с ошибкой SSL

Созданный на 22 мая 2013  ·  23Комментарии  ·  Источник: pyenv/pyenv

pyenv install команда не работает при установке 3.2, но успешна с 3.2.5 и 3.1.5:

ubuntu<strong i="7">@box144</strong>:~$ pyenv install 3.1.5
Downloading Python-3.1.5.tgz...
-> http://www.python.org/ftp/python/3.1.5/Python-3.1.5.tgz
Installing Python-3.1.5...
Installed Python-3.1.5 to /home/ubuntu/.pyenv/versions/3.1.5

Downloading distribute-0.6.40.tar.gz... [...]
Downloading pip-1.3.1.tar.gz... [...]

ubuntu<strong i="8">@box144</strong>:~$ pyenv install 3.2.5
Downloading Python-3.2.5.tgz...
-> http://yyuu.github.io/pythons/ed8d5529d2aebc36b53f4e0a0c9e6728
Installing Python-3.2.5...
Installed Python-3.2.5 to /home/ubuntu/.pyenv/versions/3.2.5

Downloading distribute-0.6.40.tar.gz... [...]
Downloading pip-1.3.1.tar.gz... [...]

ubuntu<strong i="9">@box144</strong>:~$ pyenv install 3.2
Downloading Python-3.2.tgz...
-> http://yyuu.github.io/pythons/5efe838a7878b170f6728d7e5d7517af
Installing Python-3.2...

BUILD FAILED

Inspect or clean up the working tree at /tmp/python-build.20130522214215.31234
Results logged to /tmp/python-build.20130522214215.31234.log

Last 10 log lines:
  File "<string>", line 2, in <module>
  File "/home/ubuntu/.pyenv/versions/3.2/lib/python3.2/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 4, in <module>
ImportError: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Самый полезный комментарий

Предложите еще раз заглянуть в этот билет, не удалось установить новых питонов с установленным homebrew openssl.

Столкнулся с той же проблемой и нашел этот билет:

$ brew upgrade pyenv
Error: pyenv-20140211 already installed
$ pyenv install 2.7.4
....
BUILD FAILED

Inspect or clean up the working tree at /var/folders/3y/7jrv6jr95fnbs9rr0vx1xwzc0000gn/T/python-build.20140212160358.97455
Results logged to /var/folders/3y/7jrv6jr95fnbs9rr0vx1xwzc0000gn/T/python-build.20140212160358.97455.log

Last 10 log lines:
  File "<string>", line 1, in <module>
  File "/Users/doug/.pyenv/versions/2.7.4/lib/python2.7/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

The Python ssl extension was not compiled. Missing the OpenSSL lib?

Что сработало для меня:

$ CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install 2.7.4

Все 23 Комментарий

Это может быть проблема сборки модуля ssl с последней версией OpenSSL. Я добавил патч в SHA @ 5fbc3ae3d5629081507b691a3549007cff1cffc6, чтобы предотвратить эту ошибку.

@notnoop
Пожалуйста, попробуйте перестроить с последней версией мастера.

@notnoop
А тебя нет?

Я закрываю это, так как я подтвердил, что проблема сборки была исправлена ​​на моей машине.

У меня та же проблема. Это еще не исправлено.
Я попытался установить openssl через homebrew, но проблема не исчезла.

@Rnhmjoj
С какой версией Python вы столкнулись с проблемой openssl? Пожалуйста, покажите мне фактический результат pyenv install --verbose ${version} как суть.

@yyuu Версия: 3.3.2. Вот журнал .

@Rnhmjoj
хм ... выглядит несколько странно :(

Проблема сборки модуля ssl в CPython 3.3.2 должна быть другой проблемой. Проблема на CPython 3.2 была вызвана недавними изменениями в OpenSSL (он отказывается от поддержки SSLv2).

https://github.com/yyuu/pyenv/blob/master/plugins/python-build/share/python-build/patches/3.2/Python-3.2/001_openssl_no_ssl2.patch

Хотя CPython 3.3.2 является довольно новым и эквивалентным исправлением применено по умолчанию, это не должно быть проблемой.

Для дальнейшего исследования я хотел бы иметь еще одну проблему для вашей проблемы.

Предложите еще раз заглянуть в этот билет, не удалось установить новых питонов с установленным homebrew openssl.

Столкнулся с той же проблемой и нашел этот билет:

$ brew upgrade pyenv
Error: pyenv-20140211 already installed
$ pyenv install 2.7.4
....
BUILD FAILED

Inspect or clean up the working tree at /var/folders/3y/7jrv6jr95fnbs9rr0vx1xwzc0000gn/T/python-build.20140212160358.97455
Results logged to /var/folders/3y/7jrv6jr95fnbs9rr0vx1xwzc0000gn/T/python-build.20140212160358.97455.log

Last 10 log lines:
  File "<string>", line 1, in <module>
  File "/Users/doug/.pyenv/versions/2.7.4/lib/python2.7/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

The Python ssl extension was not compiled. Missing the OpenSSL lib?

Что сработало для меня:

$ CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install 2.7.4

Поэтому я обновил файл 2.7.6, добавив изменения в №22, и все еще получаю ту же ошибку, что и самый последний комментарий от beck. Я упускаю что-то простое. На MacOS Mavericks.
просто запустил "pyenv install 2.7.6"

@yina, в конце концов, мне пришлось отказаться от доморощенного openssl.
Что в итоге сработало для меня:

brew uninstall openssl
brew upgrade pyenv
pyenv install 2.7.6

спасибо, бек. Я должен уточнить, что я использую macports, для которых установлен openssl. У меня есть последняя версия pyenv с "обновлением pyenv" с изменениями, которые я внес в файл 2.7.6.

Этот недавний коммит выглядит так, как будто openssl будет включен, если он недоступен, поэтому я бы попробовал sudo port uninstall openssl . И если openssl нужен для других проектов, используйте то, что поставляется с xcode. Надеюсь это поможет

@beck @yina
Фиксация 6b0710e263ee92a4ae15822e38b1037775d93609 не была объединена в master . Интересно, следует ли мне объединить его, поскольку я могу собрать CPython 2.7.6 со связью с OpenSSL 0.9.8 OS X по умолчанию на OS X Mavericks.

Пожалуйста, дайте мне знать дополнительную информацию:

  1. У вас установлено Command Line Tools for Xcode ?
  2. Какой у вас компилятор C по умолчанию? Вы можете проверить это с помощью which cc; cc -v
  3. Переменные среды CFLAGS , LDFLAGS и CPPFLAGS
  4. Вывод из pyenv install -v 2.7.6 2>&1 | tee build.log

@yyuu после ваших нескольких комментариев я более внимательно посмотрел на свою среду сборки, тупой, я не указал правильно LDFLAGS и CPPFLAGS, поэтому он не работал. Я обновил LDFLAGS и CPPFLAGS до

export LDFLAGS="-L/opt/local/lib" 
export CPPFLAGS="-I/opt/local/include"

а затем побежал

pyenv install -v 2.7.6

и это сработало! благодарю вас!

: тогда:

: поздравляю:

У меня тоже сработало исправление beck, но я использовал openssl brew
CFLAGS = "- I $ (brew --prefix openssl) / include" \
LDFLAGS = "- L $ (brew --prefix openssl) / lib" \
pyenv установить 2.7.4

В Yosemite 10.10.x и homebrew openssl 1.0.2d мне пришлось изменить предыдущий oneliner на:
LDFLAGS="-L$(brew --prefix openssl)/lib" CPPFLAGS="-I$(brew --prefix openssl)/include" pyenv install 2.7.10

Похоже, теперь вместо CFLAGS нужно использовать CPPFLAGS.

Мне пришлось включить LDFLAGS и CPPFLAGS для openssl, zlib и sqlite3.

У меня работает команда для связывания zlib и openssl: CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib" CPPFLAGS="-I$(brew --prefix openssl)/include" pyenv install -v 3.5.0

Я просто обновился до El Capitan 10.11.

У меня тоже проблема с ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Я использую чистую установку El Capitan 10.11 вместо обновления. Я пробовал все вышеперечисленные решения, то же самое с устранением неполадок вики, но все равно получаю ту же ошибку.

Вот полная ошибка (я также могу поместить полный журнал в суть, если хотите):

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED (OS X 10.11 using python-build 20150818)

Inspect or clean up the working tree at /var/folders/0f/z22q_whs0v30pr8lg6b_jfxr0000gn/T/python-build.20151003143338.30855
Results logged to /var/folders/0f/z22q_whs0v30pr8lg6b_jfxr0000gn/T/python-build.20151003143338.30855.log

Last 10 log lines:
rm -f /Users/gabo/.pyenv/versions/2.7.10/share/man/man1/python.1
(cd /Users/gabo/.pyenv/versions/2.7.10/share/man/man1; ln -s python2.1 python.1)
if test "xno" != "xno"  ; then \
        case no in \
            upgrade) ensurepip="--upgrade" ;; \
            install|*) ensurepip="" ;; \
        esac; \
         ./python.exe -E -m ensurepip \
            $ensurepip --root=/ ; \
    fi

Такая же ошибка с чистым El Capitan здесь:

Stefans-MBP:~ stefan$ pyenv install 3.4.3
Downloading readline-6.3.tar.gz...
-> https://yyuu.github.io/pythons/56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
Installing readline-6.3...
Installed readline-6.3 to /Users/stefan/.pyenv/versions/3.4.3

Downloading Python-3.4.3.tgz...
-> https://yyuu.github.io/pythons/4281ff86778db65892c05151d5de738d
Installing Python-3.4.3...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED (OS X 10.11 using python-build 20150818)

Inspect or clean up the working tree at /var/folders/v5/rk06g5z94txf2fglhrk9b3y40000gn/T/python-build.20151004141807.591
Results logged to /var/folders/v5/rk06g5z94txf2fglhrk9b3y40000gn/T/python-build.20151004141807.591.log

Last 10 log lines:
(cd /Users/stefan/.pyenv/versions/3.4.3/share/man/man1; ln -s python3.4.1 python3.1)
if test "xupgrade" != "xno"  ; then \
        case upgrade in \
            upgrade) ensurepip="--upgrade" ;; \
            install|*) ensurepip="" ;; \
        esac; \
         ./python.exe -E -m ensurepip \
            $ensurepip --root=/ ; \
    fi
Ignoring ensurepip failure: pip 6.0.8 requires SSL/TLS

@MrLeeh Это сработало на El Capitan.

$ xcode-select --install
$ brew uninstall openssl
$ pyenv install 3.4.0

Downloading openssl-1.0.1p.tar.gz...
-> https://yyuu.github.io/pythons/bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
Installing openssl-1.0.1p...
Installed openssl-1.0.1p to /Users/CHANN/.pyenv/versions/3.4.0

Downloading Python-3.4.0.tgz...
-> https://yyuu.github.io/pythons/d2c83ea0217769a73e8b1ee33ffbca814903f8568e30f8d13e68e3d1f743449c
Installing Python-3.4.0...
Installed Python-3.4.0 to /Users/CHANN/.pyenv/versions/3.4.0

Ницца! После того, как я попробовал все остальное из вики «Общие проблемы сборки», Issues # 448 (хотя не пробовал точную команду Copperlight), # 451, все безуспешно, вышеуказанное решение от Channelprj работало для меня. ОС 10.11, Эль-Капитан. Благодаря!

$ brew удалить openssl
$ brew uninstall --force openssl
$ pyenv установить 2.7.10

Скачивание openssl-1.0.1p.tar.gz ...
-> https://yyuu.github.io/pythons/bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
Установка openssl-1.0.1p ...
Установлен openssl-1.0.1p в /Users/tylerarbour/.pyenv/versions/2.7.10

Скачивание Python-2.7.10.tgz ...
-> https://yyuu.github.io/pythons/eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a
Установка Python-2.7.10 ...
файл исправления ./Lib/site.py
Установлен Python-2.7.10 в /Users/tylerarbour/.pyenv/versions/2.7.10

Была ли эта страница полезной?
0 / 5 - 0 рейтинги