2013-04-02 2 views
16

Я использую cython для генерации более быстрого кода для математической модели. Я с трудом компиляции кода, но каким-то образом мне удалось сделать это с помощью .bat:Что такое pyximport и как его использовать?

setlocal EnableDelayedExpansion 

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /x64 /release 
set DISTUTILS_USE_SDK=1 

C:\Python27\python.exe C:\gcsilve\trunk\myproject\myproject\cythonsetup.py build_ext --inplace 

PAUSE 

Он работает нормально ...

Мой вопрос касается pyximport. У меня есть старый код, написанный кем-то другим, который использует pyximport.install(). Я не мог понять, что он делает и почему я должен использовать его, так как я уже сам компилирую код. Итак, может кто-нибудь объяснить мне в очень простой (для чайников) способ, что делает pyximport?

Дополнительная информация: У меня есть project1, используя cython. У меня есть проект2, который ссылается на проект1.

ответ

14

pyximport является частью Cython, и он используется вместо import в некотором роде.

Если вашему модулю не требуются дополнительные библиотеки C или специальная сборка, вы можете использовать модуль pyximport для загрузки .pyx-файлов непосредственно при импорте без необходимости писать файл setup.py. Он может быть использован, как это:

>>> import pyximport; pyximport.install() 
>>> import helloworld 
Hello World 

Прямо из Cython documentation

+2

1) Учитывая, что я уже скомпилировал код, используя setup.py, я не нужно использовать pyximport, верно? – guilhermecgs

+0

Да, это так. Это то, что вы искали? Вы всегда можете принять, если мой ответ так :), иначе дайте мне знать. –

+0

Уверен, спасибо :-) – guilhermecgs