2016-01-02 4 views
1

Webports имеет проекты в каталоге портов для Python и нескольких модулей Python, включая NumPy. Порт «python» компилирует приложение Chrome, которое запускает интерпретатор Python в окне консоли. Я хотел бы иметь возможность использовать модули, которые включают в себя собственный код, например NumPy, в этом интерпретаторе.Как использовать модули Python в webports/naclports с помощью приложения-интерпретатора Python для Chrome?

Вот что я пробовал:

  • make numpy следует make python (в надежде, что процесс Python сборки видит, что я уже построил NumPy и включает его), который, кажется, не изменится ничего
  • Построение питона-статический пакет, который терпит неудачу с сообщением гигантской ошибки, которая заканчивается libppapi_simple_cpp.a: error: undefined reference to 'PSUserMainGet'
  • Копирование out/build/numpy/numpy-1.8.0/numpy/ в папку site-packages в pydata.tar в приложении Python. import numpy с ошибкой сообщает, что мне не нужно импортировать NumPy из его исходного каталога.
  • Копирование out/build/numpy/numpy-1.8.0/build/lib.linux-x86_64-2.7/numpy/ (который, как представляется, скомпилировал .so файлы в нем) в папку site-packages в pydata.tar. import numpy терпит неудачу с этим TRACEBACK:

    >>> import numpy 
    Traceback (most recent call last): 
        File "<stdin>", line 1, in <module> 
        File "/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module> 
        from . import add_newdocs 
        File "/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module> 
        from numpy.lib import add_newdoc 
        File "/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module> 
        from .type_check import * 
        File "/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module> 
        import numpy.core.numeric as _nx 
        File "/lib/python2.7/site-packages/numpy/core/__init__.py", line 6, in <module> 
        from . import multiarray 
    ImportError: cannot import name multiarray 
    

Я использую PNaCL ToolChain версию pepper_47 внутри контейнера Docker для создания пакетов, и я бегу приложение Python на Chrome 47.0.2526.106 (64- бит) на Xubuntu.

+0

Я также получаю сообщение об ошибке «undefined reference to PSUserMainGet», пытающееся создать статический порт python (с pepper_46). Вы решили эту проблему? – shapecatcher

ответ

1

Порт raw python не улавливает его, но порт numpy был разработан для использования с портом python-static, который будет построен с использованием ранее построенных модулей. Затем будет создана унифицированная статическая библиотека, которая будет связана с .pexe для python. Вам не нужно копировать компоненты модуля вручную.

+0

Есть ли что-то конкретное, что мне нужно сделать для создания 'python-static' для сборки (помимо установки SDK и зависимостей)? Ошибка с сообщением об ошибке: libppapi_simple_cpp.a: error: неопределенная ссылка на «PSUserMainGet». –

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

  • Нет связанных вопросов^_^