3

卡在 iOS 上的初始化嵌入式 Python 上。我从 Kivy 项目中获取了构建脚本。它生成了 libpython2.7.a、Python27.zip 并包含在内。

所以,我的应用程序将 zip 解压缩到 /Documents/lib/python2.7

尝试设置 Python:

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                               NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
Py_SetPythonHome((char *)[docsDir UTF8String]);
Py_SetProgramName("");
Py_Initialize();

适逢:

ImportError: No module named site

据我了解,它无法找到 Python 主路径。但是,如果我通过以下方式修复网站:

Py_NoSiteFlag=1;
PyRun_SimpleString("import sys as s\nprint(s.path)");

它输出有效路径:

['/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python27.zip', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/plat-darwin', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/plat-mac', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/plat-mac/lib-scriptpackages', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/lib-tk', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/lib-old', '/var/mobile/Applications/1BC015FC-2F7A-41C0-8F3A-70A22510C3A3/Documents/lib/python2.7/lib-dynload']

但没有一个进口作品。为了使 Python 正确使用模块,我必须解决什么问题?

4

1 回答 1

4

已经自己修好了。我的错误是: - 需要将所有 python /lib 文件作为目录(而不是组)放在基本程序文件中 - 在构建阶段“上传资源”列表中添加此目录 - 在构建阶段将“上传资源”阶段置于“编译程序”之上”。不知道为什么,但它有帮助。

于 2012-11-19T13:02:45.550 回答