c++加载python模块,但是PyImport_ImportModule老返回NULL
来源:互联网 发布:云计算优缺点 编辑:程序博客网 时间:2024/04/30 23:48
问题描述:
调用 PyImport_ImportModule加载python老是返回NULL,如下所示:“没有找到符号”
但是我检查了程序所在的路径啊,有这个jieba-test.py,但是就是返回NULL。
解决办法:
如果你是使用这个语句PyRun_SimpleString(“sys.path.append(‘./’)”);
指定的路径,请确保你程序的工作路径下有你想加载的模块。
请注意是:
程序的工作路径(尤其重要)
程序工作路径在哪里?
例子:
1、如果你是打开命令行,所在的目录是”C:\Users\Administrator” ,然后输入了“D:\jieba-test.py”执行,此时你的工作路径是在“C:\Users\Administrator”,不是“D:\”,“D:\”是脚本所在的路径。
如果你是鼠标双击运行.exe程序,那么.exe的工作路径就是.exe所在的目录,但是如果你的程序使用了类似:_chdir()这样的函数,它会改变程序的工作路径。
代码
PyRun_SimpleString("sys.path.append('./')");
是指加载程序当前工作路径,即你实际运行的时候程序的工作路径。
如果程序在PyRun_SimpleString(“sys.path.append(‘./’)”);之前改变了工作路径,而改变之后的工作路径下没有你想要加载的模块,那么就会出现上图的错误,返回一个NULL,提示“没有找到符号”。
但是按照上面说的意思,做了修改还是出现的上面“找不到符号”,这时最好使用命令行执行一下生成的程序(或者用鼠标点击运行),模拟一下程序实际的运行情况。查看一下是否运行正常。
- c++加载python模块,但是PyImport_ImportModule老返回NULL
- c++加载python模块,但是PyImport_ImportModule老返回NULL
- python加载模块PyImport_ImportModule返回NULL
- 在C/C++中嵌入python, 用PyImport_ImportModule返回值总是为0的解决方法
- PyImport_ImportModule
- C++、python混合编程之加载模块
- Python PyImport_ImportModule() 或者 PyImport_Import()失败问题
- Python PyImport_ImportModule() 或者 PyImport_Import()失败问题
- python脚本利用ctypes调用c模块返回字符串
- python动态加载模块
- python动态加载模块
- python 模块加载机制
- python 模块的加载
- Python 重新加载模块
- 资源加载返回null的问题
- 没有return的python,返回为null
- 模块已加载,但是无法找到regsvrerver入口点
- 使用vue1.0写法不报错但是模块不加载
- #include<head.h>与#include“head.h”的区别
- Caffe学习笔记之 ——在Windows下的完全配置
- mysql具体优化查询语句
- Java中有关Null的9件事
- Android简易手势密码开源库
- c++加载python模块,但是PyImport_ImportModule老返回NULL
- 讲解JDBC怎么演变到Mybatis的渐变过程
- 【c++ primer 笔记】第九章 顺序容器
- 详解GET方法:HttpURLConnection从网络获取资源
- mysql能够做的优化内容
- QQ侧滑菜单效果
- 89. Gray Code
- transient关键字
- web 框架集合