2014-01-21 3 views
3

Я использую Python 3.3Cython с питоном 3,3

Это старая проблема, как я искал, и это то, что я сделал:

helloworld.pyx

print("Hello world!") 

Тогда, в IPython, я сделал:

import pyximport; pyximport.install() 
import helloworld 

Он говорит:

ImportError: Building module helloworld failed: ["ValueError: ['path']\n"]

Та же проблема не произошло с питоном 2,7

Я гугле это: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows и понял, что я должен установить Windows SDK для Windows 7 и .NET Framework 4. Как поставляется с VC++ 2010 Redistributables, я еще не устанавливал повторно распространяемые ресурсы. Я думал, что все готово, но ошибка импорта по-прежнему остается.

Может ли кто-нибудь помочь мне решить его?

Спасибо!

-Shawn

+1

Вам действительно нужен pyximport? Похоже, сообщения об ошибках могут быть более интуитивными, если вы создадите модуль расширения как отдельный шаг и затем импортируете его в обычном режиме. – dstromberg

ответ

1

установить Windows 7 SDK, а затем открыть CMD запустить: "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.Cmd"/Release/x64

затем запустить: питон setup.py install

1

у меня был тот же вопрос и той же среде (Win7 64-битной, Python-3.3.3 64-битной).

У меня есть

  1. установлена ​​Windows 7 SDK, как описано на вики cython wiki, как вы делали,
  2. применил патч (msvccompiler9_33.diff) из этого python bug,
  3. установил выше патч, определив отсутствующая переменная, как описано here
  4. Установленный MS Visual C++ Express 2010 (кажется, требуется)
  5. Обновлено t он Windows 7 SDK, чтобы включить «Заголовки Windows и библиотеки», «Инструменты» и, конечно, «Компиляторы Visual C++», распространяемые MSVC++ 2010.

И теперь я могу скомпилировать и импортировать helloworld.py просто отлично.

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