无法使用 python 3.6 在 travis-ci 上导入 yaml (pyyaml)

Unable to import yaml (pyyaml) on travis-ci using python 3.6

我正在尝试使用 travis-ci.

测试一个使用 yaml 包 (pyyaml) 的 python 项目
sudo: required
python: "3.6"
before_install:
  - sudo apt-get install -y python3-pip
  - sudo pip3 install pyyaml 
script:
  - ./setup.py test

但是 travis 一直给我:

ModuleNotFoundError: No module named 'yaml'

我试过使用普通 pip 安装 pyyaml,以及 ubuntu 包 python3-yaml,但没有成功。我可以使用 ubuntu 在本地 VM 上运行它,只是在 travis-ci.

中不行

"ModuleNotFoundError" 表示确实是 Python 3.6 产生错误 Python <= 3.5 会给出模块错误。我倾向于使用 /path/to/python setup.py test,但看起来您已经拥有正确的 Python。

这使得 pip3 可能不会安装在您认为安装的位置,因此您至少应该这样做:

- sudo /path/to/python36 -m pip install pyyaml

确保您获得了您期望的 pip3,并且您没有使用某些默认系统 Python 3.5 或更早版本。

您还可以考虑使用已知路径安装 virtualenv,然后在其中安装 pyyaml,然后 运行 您的 setup.py 使用 python 从那里开始。