我有以下.travis.yml
文件:
language: objective-c
# macOS and Xcode Version
osx_image: xcode10
# Build dependencies
install:
- brew install python3
- ./fetchDependencies -v
到目前为止运行良好。但是,fetchDependencies
bash脚本调用的其中一个构建现在在运行python3
时需要cmake
,并且在Travis中看到以下错误:
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PythonInterp: Found unsuitable version "2.7.15", but
required is at least "3" (found /usr/local/bin/python)
FWIW ...在Travis上执行brew install python3
命令的结果是:
Warning: python 3.6.5_1 is already installed and up-to-date
To reinstall 3.6.5_1, run `brew reinstall python`
编辑:遵循@SiadArdroumli注释中链接中的建议,我将.travis.yml
修改为以下内容,但得到相同的错误:
language: objective-c
# macOS and Xcode Version
osx_image: xcode10
# Build dependencies
install:
- brew install python3
- pip3 install virtualenv
- virtualenv -p python3 .
- ./fetchDependencies -v
为什么cmake
找不到python3
...而我们该怎么办?
我在寻找答案时遇到了您的问题。我找到了一个对我有用的临时解决方案。
/usr/local/bin/python
实际上是别名文件
在/usr/local/bin/
下,您也会找到/usr/local/bin/python3
,它也是一个别名文件。
我所做的是将/usr/local/bin/python
重命名为/usr/local/bin/pythonx
(临时名称)
并将/usr/local/bin/python3
重命名为/usr/local/bin/python
在此切换之后,cmake
将找到具有正确版本的python
,其余的应该可用。
但是根据我的阅读,很多Apple应用程序都依赖Python 2
才能正常运行,因此,在获得cmake
命令后,您可能需要将它们切换回原始名称,以避免不可预见的副作用。 >