将 Python 嵌入到C++应用程序中,如果是否安装了 python(在 Windows 上)
Embed Python in C++ app regadless if python is installed or not (on windows)
我有一个运行用户脚本的应用程序,使用 python 网站上的示例,我可以嵌入 python 3.5
问题不在于嵌入代码,而在于用户是否/或安装了哪个版本的Python。
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_SetProgramName(argv[0]); /* optional but recommended */
Py_Initialize();
PyRun_SimpleString("from time import time,ctimen"
"print 'Today is',ctime(time())n");
Py_Finalize();
return 0;
}
这假设用户安装了 Python 3.5,如果他们安装了其他内容,嵌入式脚本可能无法正常工作。
或者更糟糕的是,应用程序本身将无法加载。
如果他们根本没有安装Python,那么对Py_Initialize()的调用只会使应用程序崩溃。
所以我有几个问题,我如何在我的应用程序中包含 Python,无论他们是否安装了 python?
或者,我如何测试他们安装了哪个版本的 Python,这样我就不会尝试调用 Py_Initialize(); 如果他们没有安装它或他们没有正确的版本
。我如何测试他们安装了什么版本的 Python...
请参阅Py_GetVersion。
。如何在我的应用程序中包含 Python,无论他们是否安装了 Python?
对于完整的嵌入,有一个指南:在Windows上静态嵌入Python。通常,您只需将Python DLL +标准库文件夹复制到应用程序文件夹中,并在初始化之前更改搜索路径(请参阅Py_SetPath和Py_SetPythonHome)。
相关文章:
- 从C++调用 Python 并访问通过 Anaconda 安装的软件包
- 在没有C++编译器的情况下安装 python 包
- 在python docker镜像上安装simstring(SWIG)
- Python 3.6 的 boost 和 dlib 安装期间出错
- 强制 Dlib python 仅使用 CPU 支持进行安装;在具有 Cuda 和所有内容的 GPU 机器上
- Python 3.4 mod_wsgi安装错误
- Python安装汇编错误
- 如何使用Python站点包装中安装的TensorFlow配置Bazel以构建C 应用
- 如何导入或安装预构建的Python扩展模块(C )(即未通过Setuptools编译的库)
- 为什么"pyvenv"不安装"python config"
- 在Windows 8.1上安装Boost Python,正确设置工具链
- Python 3 窗口 10 pip 安装错误
- pip 在 Python 3 Windows 10 x86 中安装 CRFsuite 时出错
- Windows 10 上的 Python 3.5 - 无法安装 cx_freeze - "cxfreeze-postinstall"不存在
- /usr/local/include/tk.h:71:13:致命错误:安装 Python 库时找不到'X11/Xlib.h'文件
- Pip 无法安装 github 包 'python-ldap',需要 C++ 10 个
- 将 Python 嵌入到C++应用程序中,如果是否安装了 python(在 Windows 上)
- Python 安装包在 msvccompiler 上出错
- Python安装工具不包括C++标准库头
- 嵌入python在c++,我需要python安装