2013-12-20 51 views
0

我有一个应用程序提供了一个很好的Python API(Python3,FWIW)。使用它的GUI,我可以触发Python脚本或使用它的Python shell。在我运行的脚本中,我可以导入供应商提供的Foo模块。我想要做的是从独立的Python会话导入Foo。这可能吗? (或者它依赖于它是如何实现的?)导入嵌入可执行文件Python API中的模块?

我在他们提供的,但没有看到任何有关的交互shell看着sys.path

当应用程序产生一个Python解释器时,它是否以某种方式向其注入了一个无法从独立Python解释器访问的模块,或者有办法告诉我的Python解释器在应用程序的可执行文件中查找Foo

对于它的价值:

>>> Foo 
<module 'Foo' (built-in)> 
>>> 

回答

2

有没有保证,在应用程序中的模块可以被导入到一个独立的脚本,特别是如果API提供了用于与正在运行的应用程序进行交互。这很可能是Python解释器嵌入到应用程序中的方式。请参阅关于embedding Python的文档,了解可能的操作方法。

也就是说,值得看看是否可以在应用程序的文件中的某个位置找到.pyd文件(在Windows上)或.so文件(在Unices上) - 有可能是某些它提供的功能可以在没有正在运行的应用程

+0

唉,看来你可能是正确的。谢谢。 – Ben