2015-08-04 5 views
3
FROM ubuntu:14.04.2 
RUN rm /bin/sh && ln -s /bin/bash /bin/sh 
RUN apt-get -y update && apt-get upgrade -y 
RUN apt-get install python build-essential python-dev python-pip python-setuptools -y 
RUN apt-get install libxml2-dev libxslt1-dev python-dev -y 
RUN apt-get install libpq-dev postgresql-common postgresql-client -y 
RUN apt-get install openssl openssl-blacklist openssl-blacklist-extra -y 
RUN apt-get install nginx -y 
RUN pip install "pip>=7.0" 
RUN pip install virtualenv uwsgi 

ADD canonicaliser_api /home/ubuntu/canonicaliser_api 
RUN virtualenv /home/ubuntu/canonicaliser_api/venv 
RUN source /home/ubuntu/canonicaliser_api/venv/bin/activate && pip install -r /home/ubuntu/canonicaliser_api/requirements.txt 
RUN export CFLAGS=-I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/ 
RUN source /home/ubuntu/canonicaliser_api/venv/bin/activate && \ 
    python /home/ubuntu/canonicaliser_api/canonicaliser/cython_extensions/setup.py \ 
     build_ext --inplace 

Последняя строка падает с:Docker: Как запустить cython_extensions?

Traceback (most recent call last): 
    File "/home/ubuntu/canonicaliser_api/canonicaliser/cython_extensions/setup.py", line 5, in <module> 
    ext_modules = cythonize("*.pyx") 
    File "/home/ubuntu/canonicaliser_api/venv/local/lib/python2.7/site-packages/Cython/Build/Dependencies.py", line 754, in cythonize 
    aliases=aliases) 
    File "/home/ubuntu/canonicaliser_api/venv/local/lib/python2.7/site-packages/Cython/Build/Dependencies.py", line 649, in create_extension_list 
    for file in nonempty(extended_iglob(filepattern), "'%s' doesn't match any files" % filepattern): 
    File "/home/ubuntu/canonicaliser_api/venv/local/lib/python2.7/site-packages/Cython/Build/Dependencies.py", line 103, in nonempty 
    raise ValueError(error_msg) 
ValueError: '*.pyx' doesn't match any files 
... 

Что я упускаю, пожалуйста?

+0

Возможно, вам нужно находиться в каталоге 'cython_extensions', когда вы вызываете' setup.py'? – larsks

ответ

1

Я нашел проблему.

  1. Я had to downgrade к Cython 0,21 (Это основная причина ошибки в вопросе)

  2. После этого я получил еще одну проблему, как сценарий не генерировали ничего, несмотря на не бросать какие-либо ошибки. Решение должно было быть в этом каталоге перед его выполнением.

.: например

RUN source /home/ubuntu/canonicaliser_api/venv/bin/activate && cd /home/ubuntu/canonicaliser_api/canonicaliser/cython_extensions/ && python setup.py build_ext --inplace 

Болевой часть о Докер, кажется, что вы должны все цепи commmands, как это, кажется, без гражданства.

Смежные вопросы