Travis CI在macOS上找不到python3

时间:2019-06-15 07:43:53

标签: python python-3.x macos cmake travis-ci

我有以下.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 ...,我们该怎么办?

1 个答案:

答案 0 :(得分:0)

我在寻找答案时遇到了您的问题。 我找到了一个对我有用的临时解决方案。

/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命令正常工作后,您可能需要将它们切换回原始名称,以避免不可预见的副作用