【发布时间】:2020-06-28 17:57:11
【问题描述】:
我想在我的电脑上安装两个版本的 TensorFlow (tf)。我的一些程序在 tf v1 上运行,一些在 tf v2 上运行。因此,我可以分别创建两个虚拟环境 (venv),一个用于 tf v1,另一个用于 tf v2,并为每个 venv 使用 --use-system-packages 来满足我的代码的其他(全局)包要求。然后,我会将我的程序保存在安装了正确 tf 版本的相应 venv 中。
但是,出于某些特定原因,我也希望能够在全局环境中使用这两个版本的 TensorFlow(即无需输入/激活 venv)。
问题:
有没有一种方法可以让我在 2 个 venv 中安装 2 个版本的 TensorFlow(和/或 numpy),然后使用 import 语句在全局环境中访问它们中的任何一个(使用要导入的版本 / venv指定的)?如果使用 venvs 无法做到这一点,有没有其他方法可以达到同样的效果?
进一步扩展相同的内容,假设我在一个 venv 中。我想知道我是否可以导入安装在其他 venv 中的包?如果是,怎么做?
【问题讨论】:
-
简短的回答是:你不能,更重要的是,你不应该。如果您对为什么会这样的血腥细节感兴趣,请告诉我,我会写一个完整的答案。
-
@Marat 谢谢,我对细节很感兴趣,如果您能抽出时间写一个完整的答案,那就太好了!在过去的 2-3 个小时里,我一直在搜索和阅读它,但找不到任何相关的东西......
标签: python tensorflow virtualenv