Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.100.120] |
|
Сообщ.
#1
,
|
|
|
скачал исходники питона, собрал статическую библиотеку.
./configure -disable-shared затем слинковал со своей программой статически. в моей OS(linux ubuntu 10.10) всё нормально работает, затем запускаю в Mandriva Spring, на stdout получаю следующее: Цитата Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site собранная статически библиотека пытается обратиться к интерпретатору(он установлен)? если да то как можно собрать Python так что бы он мог работать в OS где не установлен Python. |
Сообщ.
#2
,
|
|
|
Не уверен, но как на счет совместимости версий интепретатора в твоей и испытуемой ОС?
Цитата DEADHUNT @ может хочется иметь нечто подобное http://www.py2exe.org/ но только для линукса? если да то как можно собрать Python так что бы он мог работать в OS где не установлен Python. |
Сообщ.
#3
,
|
|
|
Может я чего не понимаю, но вижу, две что интерпретатор не нашел две библиотеки. Одна из них специфична для платформы.
Думаю, поэтому и не работает. |
Сообщ.
#4
,
|
|
|
Цитата NetVir @ может хочется иметь нечто подобное http://www.py2exe.org/ но только для линукса? есть программа на C++ в неё встроен интерпретатор питона(embedded python), что никто не использовал? вывод этих сообщений происходит при вызове Py_Initialize(), вроде надо настроить переменную PYTHONPATH настроить чтобы она указывала на модули, но ведь можно как-то собрать питон чтобы он включал в себя все необходимые модули(Python Freeze). Добавлено кажется нашёл решение(http://trac2.assembla.com/pkaudio/browser/pkscriptapp/src/engine/scripting/ScriptingApplication.cpp?rev=26), надо в начале заморозить все требуемые модули а потом подгрузить их перед вызовом Py_Initialize() |
Сообщ.
#5
,
|
|
|
теперь сделал заморозку всех модулей, слинковал их с программой.
PyImport_FrozenModules = frozen_modules; Py_Initialize(); получаю следующее: Цитата Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Traceback (most recent call last): File "site.py", line 553, in <module> File "site.py", line 535, in main File "site.py", line 268, in addusersitepackages File "site.py", line 243, in getusersitepackages File "site.py", line 233, in getuserbase File "sysconfig.py", line 535, in get_config_var File "sysconfig.py", line 434, in get_config_vars File "sysconfig.py", line 287, in _init_posix IOError: invalid Python installation: unable to open /usr/local/lib/python2.7/config/Makefile (No such file or directory) как можно это исправить? кто-нибудь встраивал питон в свои приложения? |
Сообщ.
#6
,
|
|
|
нашёл решение:
Py_NoSiteFlag = 1; Py_FrozenFlag = 1; Py_IgnoreEnvironmentFlag = 1; Py_SetPythonHome(""); Py_SetProgramName(""); |