Python可执行拉链与C扩展
我有一个__main__.py
一个zip文件执行罚款:./myappPython可执行拉链与C扩展
但这拉链里面,有一个C扩展library.so文件必须加载,但这个库.so文件未找到。
如果我执行目录(没有压缩它),它会正确执行。所以看起来C扩展不受支持或者是一些配置问题。有任何想法吗?
C扩展不能从.zip
库加载。这是Python控制之外的限制。
这已经应用到zipimport
support:
任何文件可能存在于ZIP压缩文件,但只有文件的.py和的.py [合作]可供导入。动态模块(.pyd,.so)的ZIP导入是不允许的。
你知道这是否有任何解决方法吗?我正在考虑将.SO文件放在特定的目录中,然后尝试使用pkg_resources加载它们。 – 2013-05-01 18:46:56
你将不得不把它们放在一个单独的目录中,它被添加到'sys.path'中。也许你可以在'__main__'模块运行时将它们提取到临时目录中? – 2013-05-01 22:23:43
在Google中很难找到的一个非常简单的问题对于StackOverFlow来说应该是完美的。人们无缘无故地停止低价投票会很好。这样做后至少给一些有用的评论。 – 2013-05-15 17:57:34