python - Travis CI 在 macOS 上找不到 python3

标签 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...brew install python3 的结果Travis 上的命令是:
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 之后命令工作,您可能需要将它们切换回原始名称以避免不可预见的副作用

关于python - Travis CI 在 macOS 上找不到 python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608429/

相关文章:

python - JSON 架构验证失败 - 错误不是 'object' 类型

python - “Essential SQLAlchemy”示例问题导致重复条目 IntegrityError

python - 循环变量感知 numpy 的切片和向量化计算

ios - 本地化非根 InfoPlist 值

python - 寻找最大的闭合 3D 等值线图

Python 3 : Input in cmd to return functions

python - 当默认目录为python2.7时,如何将beautifulsoup安装到python3中?

python - 以编程方式从存储库进行 pip install 会导致错误 "No such file or directory"

javascript - 检测 Mac OS X webkit 浏览器中的弹性滚动

linux - 在 mac osx 中启动脚本?