(轉(zhuǎn))mac 安裝pyenv遇到的問題

pyenv,是用來管理電腦不同版本的python的一個管理工具,切換不同版本不會影響到系統(tǒng)自帶的python。

pyenv,是一個開源軟件,具體可以猛戳這里:https://github.com/yyuu/pyenv

安裝就不說了,可以看項目使用說明,我說說我遇到的問題。

我按照說明做,當(dāng)我執(zhí)行:

$pyenv install3.4.2

pyenv安裝信息如下

Downloading Python-3.4.2.tgz...-> https://yyuu.github.io/pythons/44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8error: failed to download Python-3.4.2.tgz-> https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgzInstalling Python-3.4.2...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-problemsBUILD FAILED (OS X10.9.5using python-build20150124)Inspect or clean up the working tree at /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127145029.76064Results logged to /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127145029.76064.logLast10loglines:(cd/Users/karonchen/.pyenv/versions/3.4.2/share/man/man1; ln-spython3.4.1python3.1)iftest"xupgrade"!="xno";then\caseupgradein\? ? ? ? ? ? upgrade) ensurepip="--upgrade";; \? ? ? ? ? ? install|*) ensurepip="";; \esac; \? ? ? ? ./python.exe -E -m ensurepip \$ensurepip--root=/ ; \fiIgnoring ensurepip failure: pip1.5.6requires SSL/TLS

原因:

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

所以,執(zhí)行下面的代碼可以解決這個問題:

CFLAGS="-I$(brew --prefix openssl)/include"\LDFLAGS="-L$(brew --prefix openssl)/lib"\pyenv install3.4.2

詳情可以看著里:https://github.com/yyuu/pyenv/issues/22

pyenv安裝反饋如下:

Downloading Python-3.4.2.tgz...->https://yyuu.github.io/pythons/44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8Installing Python-3.4.2...BUILD FAILED (OS X10.9.5 using python-build20150124)Inspectorclean up the working tree at /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726Results logged to /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726.logLast10loglines:? File"/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.2/Lib/ensurepip/__main__.py", line4,in? ? ensurepip._main()? File"/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.2/Lib/ensurepip/__init__.py", line209,in_main? ? default_pip=args.default_pip,? File"/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.2/Lib/ensurepip/__init__.py", line116,inbootstrap? ? _run_pip(args + [p[0]forpin_PROJECTS], additional_paths)? File"/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.2/Lib/ensurepip/__init__.py", line40,in_run_pipimportpipzipimport.ZipImportError: can't decompress data; zlib not available

make: *** [install] Error 1

原因:

zipimport.ZipImportError:can't decompress data; zlib not available

執(zhí)行下面的代碼即可解決這個問題:

CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"pyenv install -v3.4.2

詳情可以看著里:https://github.com/yyuu/pyenv/issues/25

以為這樣就搞定了。。??墒牵?/p>

當(dāng)我在shell中輸入

pyenv local3.4.2#設(shè)置機(jī)子使用的python為3.4.2版本$python --version$2.7.8

發(fā)現(xiàn)python還是之前的版本,這又是哪里出問題。

查了半天,發(fā)現(xiàn)是shell configuration沒配置。具體可以參考這里:https://github.com/yyuu/pyenv/issues/228

需要在.bash_profile的最下面加入:

if whichpyenv > /dev/null;theneval"$(pyenv init -)";fi

and it worked!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容