2013-04-02 11 views
16

Używam cythonu do generowania szybszego kodu dla modelu matematycznego. Mam twardy czas kompilacji kodu, ale jakoś udało mi się to zrobić za pomocą bat:Co to jest pyximport i jak mam go używać?

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 

To działa ok ...

Moje pytanie dotyczy pyximport. Mam stary kod napisany przez kogoś, kto używa pyximport.install(). Nie mogłem zrozumieć, co robi i dlaczego powinienem go używać, ponieważ już kompiluję kod sam. Czy ktoś może mi wytłumaczyć w bardzo prosty (dla manekinów) sposób jaki robi pyximport?

Dodatkowe informacje: Mam project1, używając cythonu. Mam project2, który odwołuje się do project1.

Odpowiedz

14

pyximport jest częścią Cython i jest w pewnym sensie używany zamiast import.

Jeśli twój moduł nie wymaga żadnych dodatkowych bibliotek C lub specjalnej konfiguracji kompilacji, możesz użyć modułu pyximport do załadowania plików .pyx bezpośrednio po zaimportowaniu, bez konieczności pisania pliku setup.py. Może być stosowany tak:

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

Prosto z Cython documentation

+2

1) Biorąc pod uwagę, że mam już skompilowany kod przy użyciu setup.py, nie trzeba używać pyximport, prawda? – guilhermecgs

+0

Tak, zgadza się. Czy tego właśnie szukałeś? Zawsze możesz zaakceptować, jeśli moja odpowiedź tak :), w przeciwnym razie daj mi znać. –

+0

Oczywiście, dziękuję :-) – guilhermecgs