Невозможно импортировать yaml (pyyaml) на travis-ci, используя python 3.6

Я пытаюсь протестировать проект Python, который использует yaml пакет (pyyaml) с использованием travis-ci.

sudo: required
python: "3.6"
before_install:
  - sudo apt-get install -y python3-pip
  - sudo pip3 install pyyaml 
script:
  - ./setup.py test

Однако Трэвис продолжает давать мне:

ModuleNotFoundError: No module named 'yaml'

Я пытался использовать обычный pip установить pyyaml, а также пакет ubuntu python3-yaml без удачи Я могу заставить его работать на локальной виртуальной машине с Ubuntu, но не в travis-ci,

1 ответ

Решение

"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 с полным путем питона оттуда.

Другие вопросы по тегам