Невозможно установить pycocotools на Google AI-Platform (CMLE)

Я получаю эту ошибку пока trainer установка пакета на AI-Platform,

Traceback (последний вызов последним): файл "", строка 1, в файле "/tmp/pip-install-_u8thvm6/pycocotools/setup.py", строка 2, из Cython.Build import cythonize ImportError: нет модуля с именем 'Cython'

Хотя я включил 'Cython' в setup.py.

setup.py:

import setuptools

NAME = 'trainer'
VERSION = '1.0'
REQUIRED_PACKAGES = [
    'Cython', # Cython, mentioned before pycocotools
    'tensorflow-gpu',
    'google-cloud-storage',
    'gcsfs',
    'pycocotools'
]

setuptools.setup(
    name=NAME,
    version=VERSION,
    packages=setuptools.find_packages(),
    install_requires=REQUIRED_PACKAGES,
    include_package_data=True,
    description='Trainer package')

2 ответа

Добавив эти строки в setup.py ошибка решена,

import setuptools

# Install cython before setup
import os                                       # <--- This line added
os.system('pip3 install --upgrade cython')      # <--- This line added

NAME = 'trainer'
VERSION = '1.0'
REQUIRED_PACKAGES = [
    'Cython', # Cython, mentioned before pycocotools
    'tensorflow-gpu',
    'google-cloud-storage',
    'gcsfs',
    'pycocotools'
]

setuptools.setup(
    name=NAME,
    version=VERSION,
    packages=setuptools.find_packages(),
    install_requires=REQUIRED_PACKAGES,
    include_package_data=True,
    description='Trainer package')

Перед запуском setup.py необходимо установить cython. Проблема в том, что cython необходим во время сборки, а не во время выполнения, и нет гарантии, в каком порядке пакеты вы указали вinstall_requiresустановить. Итак, когда pip пытается установитьpycocotools он еще не установил cython и прерывается.

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