Почему Travis CI не может собрать проект Python? - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть простой скрипт на Python, который использует API Microsoft (Pywin32).Я могу успешно запустить проект на моей локальной машине, но в Travis он выдает ошибку -

    100% |████████████████████████████████| 51kB 17.9MB/s 
Collecting pylint==2.2.2 (from -r requirements.txt (line 15))
  Downloading https://files.pythonhosted.org/packages/a5/06/ecef826f319055e6b231716730d7f9047dd7524ffda224b521d989f085b6/pylint-2.2.2-py3-none-any.whl (750kB)
    100% |████████████████████████████████| 757kB 18.9MB/s 
Collecting pywin32==224 (from -r requirements.txt (line 16))
  Could not find a version that satisfies the requirement pywin32==224 (from -r requirements.txt (line 16)) (from versions: )
No matching distribution found for pywin32==224 (from -r requirements.txt (line 16))
The command "pip install -r requirements.txt" failed and exited with 1 during .
Your build has been stopped.

В моей локальной системе Python имеет версию 3.6.6 и pip 18.1.Но если вы заметили в Travis, версия пипса 10.0.1.Может ли это быть проблемой?

Мой файл travis.yml содержит -

language: python
python:
  - "3.6.6"
pip:
  - "18.1"
install:
  - pip install -r requirements.txt
script:
  - python main.py

Пакет Python pywin32 == 224 существует и может быть загружен на мой локальный компьютер, поэтому я предполагаю, что ошибкане с их стороны.

Спасибо за помощь.

РЕДАКТИРОВАТЬ -

После попытки установки Python возникла следующая ошибка:

0.01s$ source ~/virtualenv/python3.6/bin/activate
$ python --version
Python 3.6.3
$ pip --version
pip 9.0.1 from /home/travis/virtualenv/python3.6.3/lib/python3.6/site-packages (python 3.6)
0.08s$ choco install python3
choco: command not found
The command "choco install python3" failed and exited with 127 during .
Your build has been stopped.

РЕДАКТИРОВАТЬ 2 -

Новый .travis.yml:

language: python
python:
  - "3.6"
os: windows
before_install:
        - choco install python3
        - export PATH="/c/Python37:/c/Python37/Scripts:$PATH"
        - python -m pip install --upgrade pip wheel
install:
  - pip install -r requirements.txt
script:
  - python main.py 

Выход -

Worker information

The language 'python' is currently unsupported on the Windows Build Environment.
Let us know if you'd like to see it: https://travis-ci.community/c/environments/windows. Thanks for understanding!

1 Ответ

0 голосов
/ 08 декабря 2018

pywin32 является оболочкой WinAPI, поэтому это пакет только для Windows, его нельзя использовать в Linux.

Travis CI работает по умолчанию в Linux, но с октября 2018 года появилась возможность использовать Windows, добавивos: windows в вашем файле .travis.yml.Прочтите сообщение в блоге Travis по этому вопросу.

Однако, поскольку это функция "раннего доступа", ей все еще не хватает многих вещей, включая Поддержка Python .Так что если вам нужен Python сейчас - единственный способ - установить его вручную, например, здесь

- os: windows
  language: sh
  python: "3.7"
  before_install:
        - choco install python3
        - export PATH="/c/Python37:/c/Python37/Scripts:$PATH"
        - python -m pip install --upgrade pip wheel
...