无法使用 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 从那里开始。
我正在尝试使用 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 从那里开始。