Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用嵌入式Python避免在应用程序中重复msvcr90.dll+;C扩展?_Python_Python Extensions_Python Embedding_Msvcr90.dll - Fatal编程技术网

使用嵌入式Python避免在应用程序中重复msvcr90.dll+;C扩展?

使用嵌入式Python避免在应用程序中重复msvcr90.dll+;C扩展?,python,python-extensions,python-embedding,msvcr90.dll,Python,Python Extensions,Python Embedding,Msvcr90.dll,我正在发布一个嵌入Python2.7的Windows应用程序(技术:包括python27.dll+‘python27’目录和dll以及Lib文件夹,以及my.exe)。我还包括一个自定义Python包,它使用C扩展名(.pyd文件,基本上是DLL) 我知道我需要msvcr90.dll的9.0.21022.8版本和相关清单。我能够将msvcr90.dll+清单与.exe文件放在一起,并且我可以正常工作,没有问题。但是为了使用我的自定义Python包,我发现我还需要在与包的.pyd文件相同的级别上包

我正在发布一个嵌入Python2.7的Windows应用程序(技术:包括python27.dll+‘python27’目录和dll以及Lib文件夹,以及my.exe)。我还包括一个自定义Python包,它使用C扩展名(.pyd文件,基本上是DLL)

我知道我需要msvcr90.dll的9.0.21022.8版本和相关清单。我能够将msvcr90.dll+清单与.exe文件放在一起,并且我可以正常工作,没有问题。但是为了使用我的自定义Python包,我发现我还需要在与包的.pyd文件相同的级别上包含msvcr90.dll+清单(如果没有,在PyImport_ImportModule期间应用程序会崩溃)。我不明白为什么.pyd不能“看到”树上更远的msvcr90.dll


我知道,我可以(可能)通过在目标计算机上运行MS Visual C可再发行软件包来避免这种情况……这实际上安装了MSVCR DLL+清单,因此它在系统范围内可用。但是我不想要求我的用户运行它,我也不想自己尝试将它安装在正确的位置和处理版本控制等问题。

尝试Python 2.7.3并重新编译所有有问题的扩展。这可能已在和中修复,但并非所有扩展模块都是最新的;现在,我可以在与python27.dll相同的级别上包含一个msvc*.dll+清单,它可以正常工作。考虑把你的评论移到答案……我会接受它,如果你想要RP+的话。如果没有:请接受我的感谢!尝试Python2.7.3并重新编译所有有问题的扩展。这可能已在和中修复,但并非所有扩展模块都是最新的;现在,我可以在与python27.dll相同的级别上包含一个msvc*.dll+清单,它可以正常工作。考虑把你的评论移到答案……我会接受它,如果你想要RP+的话。如果没有:请接受我的感谢!