关于构建时MAC中python2.7 3.8处理分享

Mac系统中默认安装2.7,但是我们开发平时都是用的>3.6,那么构建发布时就有问题了
1.打开
/Applications/CocosCreator/Creator/2.3.3/CocosCreator.app/Contents/Resources/cocos2d-x/tools/cocos2d-console/bin/cocos

修改
python "$COCOS_CONSOLE_BIN_DIRECTORY/cocos.py" "$@"

python2 "$COCOS_CONSOLE_BIN_DIRECTORY/cocos.py" "$@"

python2为Mac系统自带的2.7版本命令

如果你的Mac系统是最新的,构建发布时会发现 openssl版本又出现了问题

ERROR:root:code for hash md5 was not found
ERROR:root:code for hash sha1 was not found.

出现这个问题是你的随机python的更新已经更新了。python2.7中openssl必须为openssl.1.0.0

查看python 2.7依赖的openssl版本

python2.7 -v -c “import hashlib” 2> output.txt

打开ouput.txt文件,查找_hashlib.so
dlopen("/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_hashlib.so", 2);

运行
otool -L /usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_hashlib.so

就出现了python2.7的openssl引用版本

/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_hashlib.so: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)

6.查看系统有那些openssl版本

如果没有就安装,最后把 libssl.1.0.0.dylib libcrypto.1.0.0.dylib复制进/usr/local/opt/openssl/lib/ 即可

借此机会提出希望官方能够升级一下python的版本