我有两个Python库需要在同一个环境中运行,它们是pptk
和torch-scatter
,并且没有重叠的Python版本要求; pptk
〈= 3.7和torch-scatter
〉= 3.8。它们都在一定程度上大量使用C++来增强它们的功能,我怀疑我是否具备为所需的Python版本更新/降级它们所需的技术技能。
假设pptk
是一个绘图库,我看到的唯一解决方案是创建一个Python 3.8环境并安装torch-scatter
。然后编写一个脚本来获取我希望提供给pptk
显示的任何数据,将其pickle到NamedTemporaryFile
。最后启动一个新进程并将文件名作为参数传递给它。该进程将运行一个安装了pptk
的Python 3.7环境,加载文件并显示数据。
**是否有比描述的更简单的解决方案?**Python中是否有一些支持调用不同的Python版本库并执行一些自动编组?
1条答案
按热度按时间dsekswqp1#
如果没有其他人提供更好的解决方案,并且将来有人在这里绊倒,这里是我实现的WYSIWYG解决方案。
函数
pptk_subprocess
接受我显示的数据,执行一些操作,并将其写入NamedTemporaryFile
。然后将文件名传递到commands
字符串中。该字符串启动pptk
库所在的Anaconda环境,并在该环境中运行当前的__file__
。在__main__
中,这个文件被加载,数据被读取以显示。还有一个选项,通过相同的NamedTemporaryFile
x x x x 8n1x数据将一些数据写回到pptk_subprocess
“上下文”中。此解决方案似乎只能从命令行运行,而不能通过IDE的
run
功能运行。