Я пишу приложение на языке C, которое позволит мне встраивать в него модули Python. Модули Python отвечают за инициацию удаленных вызовов процедур для кода Python на удаленном компьютере через библиотеку rpyc. Мои модули Python будут расположены в том же месте, откуда будет запускаться приложение. Я предполагаю, что мое приложение C будет работать на машине, на которой нет необходимых библиотек Python, например. rpyc.
Я хотел знать, есть ли способ объединить все зависимости вместе с моими модулями, когда я отправляю код для распространения.
Я использовал Cython для компиляции модуля Python в .pyd, но для этого все равно необходимо установить необходимые библиотеки Python.
Мой код C:
int main(){
int argc = 2;
wchar_t* argv[] = { (wchar_t *)"mypythonmodule", (wchar_t *)"-h", NULL };
const char *module = argv[0];
PyObject *pName, *pModule, *pFunc;
PyObject *pArgs, *pValue;
Py_Initialize();
pName = PyUnicode_DecodeFSDefault(module);
pModule = PyImport_Import(pName);
Py_DECREF(pName);
if (pModule != NULL) {
pArgs = PyTuple_New(argc);
for (int i = 0; i < argc; i++) {
pValue = PyUnicode_FromString(argv);
PyTuple_SetItem(pArgs, i, pValue);
}
pFunc = PyObject_GetAttrString(pModule, "parse_args");
PyObject_CallObject(pFunc, pArgs);
Py_DECREF(pFunc);
Py_DECREF(pArgs);
//Py_DECREF(pValue);
Py_Finalize();
}
}
Встраивание Python в программу на C со всеми включенными зависимостями ⇐ Python
Программы на Python
1778800520
Anonymous
Я пишу приложение на языке C, которое позволит мне встраивать в него модули Python. Модули Python отвечают за инициацию удаленных вызовов процедур для кода Python на удаленном компьютере через библиотеку rpyc. Мои модули Python будут расположены в том же месте, откуда будет запускаться приложение. Я предполагаю, что мое приложение C будет работать на машине, на которой нет необходимых библиотек Python, например. rpyc.
Я хотел знать, есть ли способ объединить все зависимости вместе с моими модулями, когда я отправляю код для распространения.
Я использовал Cython для компиляции модуля Python в .pyd, но для этого все равно необходимо установить необходимые библиотеки Python.
Мой код C:
int main(){
int argc = 2;
wchar_t* argv[] = { (wchar_t *)"mypythonmodule", (wchar_t *)"-h", NULL };
const char *module = argv[0];
PyObject *pName, *pModule, *pFunc;
PyObject *pArgs, *pValue;
Py_Initialize();
pName = PyUnicode_DecodeFSDefault(module);
pModule = PyImport_Import(pName);
Py_DECREF(pName);
if (pModule != NULL) {
pArgs = PyTuple_New(argc);
for (int i = 0; i < argc; i++) {
pValue = PyUnicode_FromString(argv[i]);
PyTuple_SetItem(pArgs, i, pValue);
}
pFunc = PyObject_GetAttrString(pModule, "parse_args");
PyObject_CallObject(pFunc, pArgs);
Py_DECREF(pFunc);
Py_DECREF(pArgs);
//Py_DECREF(pValue);
Py_Finalize();
}
}
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия