cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)

时间:2021-02-28 11:25:42

之前一直使用cocos2d-x2.2写游戏,写了几个游戏后,想尝试下3.x版本的新功能,就下载了cocos2d-x3.2版本。

参照官方文档的说法,cocos2d-x3.x版本需要python2.7环境支持,python2.6以及python3.x版本都不行,所以特意去python官网下载了2.7.8版本,安装好后进入目录:
cocos2d-x-3.2\tools\cocos2d-console\bin
执行命令:
python cocos.py new HelloCpp -p com.hello.test -l cpp -d ../../../projects
结果报错如下:
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
看不出什么原因,于是上网查了下,说遇到这个问题是因为python版本不对,需要python2.7版本才能正常使用。
这就奇怪了,我明明安装的就是2.7.x版本啊,于是特意执行python命令确认了一下版本号。
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
显示的结果让我感到很纳闷,我明明安装的是2.7.8啊,怎么显示的信息是2.6.5呢
之后又去搜索我电脑里已安装的python程序,确定我电脑里只安装了2.7.8。
 
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
纳闷了一会后,突然注意到了上图的末尾显示的on cygwin,难道cygwin里自带了python么,于是进入cygwin安装目录一查询,果不其然,cygwin自带了python,而且是2.6版本。
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
 cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
很明显,那就是创建新项目时执行python命令的时候,被cygwin的python2.6抢先执行了。
接下来检测了下系统的环境变量,将PATH对应的环境变量复制出来,搜索后发现cygwin确实是配置在自己安装的python之前
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
 
于是在环境变量里将python的配置位置移到cygwin之前:
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)
只需将自己安装的python路径配置在cygwin路径之前即可。
之后重新打开命令行,按照之前的步骤,就可以成功创建新项目了。
 
总之该问题就是,如果用户安装过cygwin,刚好cygwin配置的环境变量在用户自己安装的python之前的话,那在命令行里执行python命令时,用的是cygwin的2.6版本,所以只需要将自己安装的python路径配置在cygwin之前即可。
不过这样也有个问题,就是以后使用cygwin的时候也可能会发生python版本不对的问题,还好cygwin现在用的不多,到时候遇到问题再说吧。