Я пишу C-расширения для python. Я просто экспериментировал на некоторое время, и я написал мировое расширение привета который выглядит следующим образом:с использованием расширения C в python, не устанавливая его как модуль
#include <Python2.7/Python.h>
static PyObject* helloworld(PyObject* self)
{
return Py_BuildValue("s", "Hello, Python extensions!!");
}
static char helloworld_docs[] = "helloworld(): Any message you want to put here!!\n";
static PyMethodDef helloworld_funcs[] = {
{"helloworld", (PyCFunction)helloworld, METH_NOARGS, helloworld_docs},
{NULL,NULL,0,NULL}
};
void inithelloworld(void)
{
Py_InitModule3("helloworld", helloworld_funcs,"Extension module example!");
}
код отлично работает, после установки его из setup.py файла, который я написал, и установить его из Командная строка
python setup.py install
То, что я хочу следующее:
Я хочу использовать файл C в качестве модуля расширения питона, не устанавливая его, что я хочу, чтобы использовать его как еще один файл питона мой проект, а не файл, который мне нужно установить до моего Модули python используют свою функциональность. Есть ли способ сделать это?
Можете ли вы подробно рассказать о том, чего вы хотите достичь? Модуль расширения - это просто общая библиотека, которую может загружать Python. «Установка» это просто означает копирование его в место, где Python ищет свои модули. Вы хотите, чтобы вы запускали свой модуль из не-системного места? Или вы не хотите не полагаться на 'setup.py' и вместо этого устанавливать (копировать) модуль расширения вручную? – user4815162342
Он должен будет существовать на платформе где-то, так что вы можете уточнить, что вы имеете в виду, когда заявляете, что не хотите его устанавливать? –
Я хочу использовать его как еще один файл python в моем проекте, а не файл, который мне нужно установить до того, как мои другие модули python в моем проекте получат возможность использовать его функциональность. – ironstein