我需要在同一個 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
您需要的兩個版本。
添加回答
舉報
0/150
提交
取消