我正在制作一个将调用python的程序。我想在我的项目中添加python,这样用户就不必下载python来使用它,而且最好使用我的程序中的python,这样一来用户就不需要下载任何依赖项。
我的程序将用C++编写(但可以是任何语言(,我想我必须调用与我的项目路径相同的python?
假设用户运行的系统已经有了python,他/她调用了"pip"。我想让程序调用python提供的pip,由我的程序提供,并将其安装在程序目录中,而不是系统的python?
有可能吗?如果是,我该怎么做?
真实示例:有一些程序提供了一个终端,在那里你可以执行python来在程序中做一些事情,比如:
- Maya by Autodesk
- Nuke by The foundry
- 胡迪尼副作用
注意:它必须是跨平台的解决方案
有些程序会"冻结"您的python程序,包括python本身,例如Pyinstaller(http://www.pyinstaller.org/)
不过,这对第三段中的要求没有帮助,因为您必须将Python本身作为完整下载的一部分,这似乎是不必要的。
为了运行python代码,运行时是足够的。在Windows下,您可以使用py2exe将程序代码与python运行时和所有最近的依赖项打包在一起。但是pip不能被使用,它没有任何意义,因为你不想开发,只想使用python部分。
要像Panda3D一样分发完整的python安装,您必须将其包含在所选的安装软件中。
您可以使用py2exe将python程序转换为可执行程序。您不需要在可执行文件中保留python。