在使用pyenv安装python 3.6.9的时候遇到了- ModuleNotFoundError: No module named 'pyexpat' 环境:mac os10.14.4
先介绍下操作过程: 起初执行了下面两条命令,接着执行pyenv install 3.6.9时,是安装成功了的。
代码语言:javascript复制$ brew update
$ brew install pyenv
后面稍微仔细的看了下官方git介绍的安装过程,又执行了以下操作:
代码语言:javascript复制# Add pyenv init to your shell to enable shims and autocompletion.
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; thenn eval "$(pyenv init -)"nfi' >> ~/.bash_profile
# Restart your shell so the path changes take effect. You can now begin using pyenv.
$ exec "$SHELL"
-------------------------------------------------------
# Install Python build dependencies before attempting to install a new Python version.
我觉得问题出在这步,由于apple使用了自己的一套类似openssl等东西,再装类似的东西 可能就会起冲突了
$ brew install openssl readline sqlite3 xz zlib # optional, but recommended:
# When running Mojave or higher (10.14 ) you will also [need to install the additional SDK headers](https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624):
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
接着执行,下面这行 安装python 3.6.9时,就出现 如题目所示的错误了ModuleNotFoundError: No module named 'pyexpat'
代码语言:javascript复制$ pyenv install 3.6.9
这是整个人都不好了。。。
看了一下午的Stack Overflow上的解答,还是没找到合适的解决方案。 在Stack Overflow上某个靠后的答案中有这样一条命令 说可以解决
代码语言:javascript复制$ SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14 pyenv install 3.7.3
但是,当时机器中没装XCode,就没有试这条命令 SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14 pyenv install 3.7.3。
折腾了不少时间后,又安装了XCode。又试了试之前的那些解决方案 仍是不能解决问题。最后就又试了试下面这条命令SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14 pyenv install 3.7.3。还好成功了。那个累呀。。。