Создание модулей расширения Python C для Windows

Это хороший пример необходимости группировать данные по определенным файлам (createdAt), а затем сравнивать критерии соответствия набора результатов.

  1. найти max по идентификатору ученика,
  2. изменить документ

Код : проверить, соответствуют ли они критериям [

db.student.aggregate([{
   $group : {
       _id : "$user",
        created : {
            $max : "$createdAt"
        },
        documents : {
            $push : "$$ROOT"
        }
    }
 }, {
$project : {
    _id : 0,
    documents : {
        $filter : {
        input : "$documents",
        as : "item",
            cond : {
                $eq : ["$$item.createdAt", "$created"]
            }
        }
    }}
}, {
$match : {
    "documents.isAbandoned" : true
}},
{ $unwind : "$documents" },
{
$project : {
    _id : "$documents._id",
    user : "$documents.user",
    studentName : "$documents.studentName",
    createdAt : "$documents.createdAt",
    isAbandoned : "$documents.isAbandoned",
 }}
])
12
задан Will Harris 19 September 2008 в 10:58
поделиться

2 ответа

Можно использовать и MinGW и VC ++ Экспресс (свободный, никакая потребность купить его).

См.:

  1. http://eli.thegreenplace.net/2008/06/28/compiling-python-extensions-with-distutils-and-mingw/
  2. http://eli.thegreenplace.net/2008/06/27/creating-python-extension-modules-in-c/
16
ответ дан 2 December 2019 в 19:00
поделиться

Setuptools и distutils не идут с gcc, но они используют тот же компилятор, с которым был создан Python. Различие главным образом, что в типичной системе UNIX, что компилятор является 'gcc' и Вам установили его.

Для компиляции дополнительных модулей в Windows Вам нужен компилятор для Windows. MSVS сделает, даже версия Экспресса, которой я верю, но это действительно должен быть тот же MSVC ++ версия, как Python был создан с. Или можно использовать Cygwin или MinGW; Посмотрите соответствующий раздел Установки Модулей Python.

3
ответ дан 2 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: