Heroku Python установить предварительные требования перед основными требованиями - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь протолкнуть приложение с колбой питона к героку. У меня есть файл require.txt, но я не могу понять, как мне установить предварительные требования, необходимые для установки одной из зависимостей в файле needs.txt. У меня есть github репо в моем файле require.txt в качестве зависимости, но для установки требуются Cython и numpy. При добавлении Cython и numpy в мой файл needs.txt выдается ошибка, даже когда Cython и numpy находятся перед репозиторием github в файле needs.txt.

Журнал ошибок

      File "/Users/sayam/Desktop/ti-heroku/venv3/src/detectron/setup.py", line 12, in <module>
        from Cython.Build import cythonize
    ImportError: No module named Cython.Build
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

needs.txt

Cython==0.29.14
numpy==1.16.5
-e git+https://github.com/facebookresearch/densepose@35e69d110b432704c2183cd6aea531f4f695edbe#egg=Detectron

Обратите внимание, что Cython и numpy упоминались ранее в файле needs.txt, но все равно выдает ошибку.

Репозиторий githubздесь я имею в виду следующее:

# Copyright (c) Facebook, Inc. and its affiliates.
# All rights reserved.
#
# This source code is licensed under the license found in the
# LICENSE file in the root directory of this source tree.
##############################################################################

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from Cython.Build import cythonize
from setuptools import Extension
from setuptools import setup

import numpy as np

_NP_INCLUDE_DIRS = np.get_include()


# Extension modules
ext_modules = [
    Extension(
        name='detectron.utils.cython_bbox',
        sources=[
            'detectron/utils/cython_bbox.pyx'
        ],
        extra_compile_args=[
            '-Wno-cpp'
        ],
        include_dirs=[
            _NP_INCLUDE_DIRS
        ]
    ),
    Extension(
        name='detectron.utils.cython_nms',
        sources=[
            'detectron/utils/cython_nms.pyx'
        ],
        extra_compile_args=[
            '-Wno-cpp'
        ],
        include_dirs=[
            _NP_INCLUDE_DIRS
        ]
    )
]

setup(
    name='Detectron',
    packages=['detectron'],
    ext_modules=cythonize(ext_modules)
)

Кроме того, поскольку это Heroku, я не могу вручную сделать pip install Cython и pip install numpy перед запуском файла needs.txt.

Пожалуйста, предложите решение этой проблемы.

...