为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 的一个程序中导入/使用两个不同版本的库 (pytorch)?

如何在 Python 的一个程序中导入/使用两个不同版本的库 (pytorch)?

偶然的你 2023-06-27 13:40:07
我需要在同一个 python Web 服务器的不同部分使用两个不同版本的 pytorch。不幸的是,我无法将它们安装在我正在使用的同一个 conda 环境中。我尝试从路径本身导入其中之一:MODULE_PATH = "/home/abc/anaconda3/envs/env/lib/python3.7/site-packages/torch/__init__.py"MODULE_NAME = "torch"import importlibimport sysspec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)module = importlib.util.module_from_spec(spec)sys.modules[spec.name] = modulespec.loader.exec_module(module)这对于导入与活动环境中的版本不同的版本效果很好,但是当我尝试导入第二个版本时遇到错误(我尝试过简单的“导入火炬”,也与上面相同):File "/home/abc/anaconda3/envs/env2/lib/python3.7/site-packages/torch/__init__.py", line 82, in <module>    __all__ += [name for name in dir(_C)NameError: name '_C' is not defined关于如何使用这两个版本有什么想法吗?谢谢!
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

原则上,导入两个同名的库是不可能的。当然,也许你可以做一些进口巫术并设法做到这一点。但请记住,这pytorch不是一个简单的 Python 包。

现在,即使您设法解决这个问题,您自己的服务需要两个不同的版本,这对我来说似乎非常奇怪。从长远来看,出现这种情况只会让你头疼。我的建议是重新考虑你是如何做的。

在不了解您的情况的情况下,我建议将网络服务分成两部分。这将允许您拥有两个环境和pytorch您需要的两个版本。


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信