У меня есть кросс-скомпилированный python 2.7.2 для Android (4.4.4) с помощью Android NDK 9d.Режим выполнения отладки Python
После загрузки скомпилированных элементов в цель я столкнулся с проблемой, когда исполняемый файл работает, но возвращает код ошибки 1 для всех действий, кроме печати версии или меню справки.
Я скопировал весь материал, чтобы
/system/usr/bin/python2.7
/system/usr/lib/libpython2.7.so
/system/usr/lib/python2.7/*
PYTHONHOME=/system/usr/
PATH=/system/usr/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
PYTHONPATH=/system/usr/lib/python2.7/lib-dynload:/system/usr/lib/python2.7
LD_LIBRARY_PATH=/vendor/lib:/system/lib:/system/usr/lib:/system/usr/lib:/system/usr/lib/python2.7:/system/usr/lib/python2.7/lib-dynload
Есть ли способ, чтобы получить питон, чтобы быть более многословными о том, почему он возвращает код ошибки и отказывается работать (например, войти в интерактивном режиме), так что я могу знать если это какая-то проблема с конфигурацией или мне придется самостоятельно отредактировать код, чтобы выяснить, что происходит?
[email protected]:/ # python2.7 --version
Python 2.7.2
[email protected]:/ # python2.7 --help
usage: python2.7 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser; also PYTHONDEBUG=x
-E : ignore PYTHON* environment variables (such as PYTHONPATH)
-h : print this help message and exit (also --help)
-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-m mod : run library module as a script (terminates option list)
-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO : remove doc-strings in addition to the -O optimizations
-Q arg : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
-t : issue warnings about inconsistent tab usage (-tt: issue errors)
-u : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x
see man page for details on internal buffering relating to '-u'
-v : verbose (trace import statements); also PYTHONVERBOSE=x
can be supplied multiple times to increase verbosity
-V : print the Python version number and exit (also --version)
-W arg : warning control; arg is action:message:category:module:lineno
also PYTHONWARNINGS=arg
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
-3 : warn about Python 3.x incompatibilities that 2to3 cannot trivially fix
file : program read from script file
- : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]
Other environment variables:
PYTHONSTARTUP: file executed on interactive startup (no default)
PYTHONPATH : ':'-separated list of directories prefixed to the
default module search path. The result is sys.path.
PYTHONHOME : alternate <prefix> directory (or <prefix>:<exec_prefix>).
The default module search path uses <prefix>/pythonX.X.
PYTHONCASEOK : ignore case in 'import' statements (Windows).
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
[email protected]:/ #
[email protected]:/ # python2.7; echo $?
1
[email protected]:/ #
Благодаря
Вы копировали 'PYTHONHOME' и другие переменные env? – Falmarri
Они экспортируются в оболочку перед запуском python – David