关于嵌入python 和脚本打包
这几天一直遇到这两个问题:
查了好基本书还有官方文档以及Google.com 都没能解决, 所以想向前辈们请教,还望能解答,先谢了.
一、我的脚本想放在一个目录中,然后将这些脚本全部打包成zip文件,但不知道如何打包已经在脚本程序或嵌入程序中怎么调用这个zip包中的模块?忘能给出代码。我是想以后程序可以直接用这个zip就能读到里面的模块,而不是为了发布安装python脚本库。 就类似于java中的jar那样的效果。
二、因为我把脚本放在一个目录中,例如:
Script <dir>
|
- Module <dir>
|
- Startup.py
我知道如何在脚本中去调用这个Startup.py 模块(from Script.Module import Startup),但是不知道如何在嵌入程序中调用这个模块,一直都没能找到设置模块搜索路径的函数,好像只有察看的函数 Py_GetPath(), 可惜没有Py_SetPath() ,问题是不知道如何在嵌入程序中调用目录下的木块,以及是否有设置搜索路径的函数?
等待前辈们的回答,谢谢。
[解决办法]
这样行不?
PyImport_ImportModule( "Script.Module.Startup ");
好像Script目录和Module目录下面都需要有个__init__.py文件
[解决办法]
按打包成zip就可以
然后用sys.path.append( "your.zip ") 或者将zip文件的路径添加环境变量PYTHONPATH中.
[解决办法]
用C函数
setenv( "PYTHONPATH ", "/path/to/your.zip ");
试试看