现象: 在 调用 PyRun_SimpleString("import sys");
命令时 出现 错误 从而 中断了 程序 运行。 在 命令提
示符 中 有 错误提示信息: “ImportError:no module named site”
原因:网上 搜索 结果,大部分 都 把 注意力 集中 在 本地 模块文件(比如
myCode.py) 的 调用 问题
上。 采用的 方法 是 修改 Python 的 搜索路径 设置,代码 如下 所示:
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.insert(0, '.')");
其实 我 找到 的 示例 都 已经 放上 了 这些 代码,但是 问题 还是 发生了。 后来 我 注意到
错误提示信息并
不是 “no module named myCode”,而是 “no module named
site”。 而且 经过 在 不同的 程序
位置 插入 输出 命令
PyRun_SimpleString("print('It is a try.')")
进行 测试,终于 找到了 问题 的 真正 发生 位置 是 这条 命令:
PyRun_SimpleString("import sys");
端正 方向,再次 重点 搜索 “no module named
site”,很快找到了(http://itbug.baike.com/?
m=article&id=92402) 行之有效的 解决 办法: 添加 或 修改 操作系统的 环境变量 设置。
解决办法:在 系统的 环境变量 设置 中 添加 一条:PYTHONHOME,令其 为
python 的 安装路径。 我的
安装路径 是:C:\python27。 这个 修改 之后 必须 重启。然后,PyRun_SimpleString("import
sys") 和
PyRun_SimpleString("sys.path.insert(0, '.')") 都 可以 删除了,至少 在 我目前的
版本 中 不需要 了,可以 顺
利 调用 存在 本地的 模块文件
环境说明: windows7 旗舰版
sp1 32位;python2.7.11