如何在虚拟环境中使用 Python 模块?
how to make use of Python modules in virtual environments?
我想了解 Python 虚拟环境的工作原理。我需要它,有不同的安装和不同的版本。
我的问题是:
- 如何让我的 .py 文件从特定的虚拟环境而不是从主安装中导入模块?
- 我可以从虚拟环境中导入一个模块,然后从主安装中导入另一个模块吗(例如:我想使用在某些模块的最新版本中不再可用的方法)?
- 如果我使用一个虚拟环境导入一个脚本,一个使用另一个虚拟环境中的模块的脚本,并且一些依赖项重叠(例如:一个使用 pandas 1.0.3,另一个使用pandas1.0.0)?是处理了重叠还是将它们降到同一版本(如果是,是哪个版本?)?
我尝试进行实验,但在文档中除了创建和包安装之外找不到任何内容。
编辑:
注意:对我来说,即使是部分答案(至少一个问题)也会有用并被接受,直到提供模式完整答案。
我将尝试尝试回答这些问题,我认为您阅读一些内容会受益更多 virtual environment documentation。
- 当您是 运行 一个 python 脚本时,如果您激活虚拟环境,虚拟环境将取代您的 "main installation"。因此,一旦虚拟环境处于活动状态,它将始终查看虚拟环境安装的模块,而不是 "main" 安装。
不,一旦虚拟环境被激活,你就不能访问方法
"main" 安装一个模块。 Python 在创建虚拟环境时的默认行为将不包括您在虚拟环境中 "main" 安装的任何现有站点包。
What happens if I import into a script using one virtual environment
如上所述,这不是虚拟环境的工作方式。
我想了解 Python 虚拟环境的工作原理。我需要它,有不同的安装和不同的版本。
我的问题是:
- 如何让我的 .py 文件从特定的虚拟环境而不是从主安装中导入模块?
- 我可以从虚拟环境中导入一个模块,然后从主安装中导入另一个模块吗(例如:我想使用在某些模块的最新版本中不再可用的方法)?
- 如果我使用一个虚拟环境导入一个脚本,一个使用另一个虚拟环境中的模块的脚本,并且一些依赖项重叠(例如:一个使用 pandas 1.0.3,另一个使用pandas1.0.0)?是处理了重叠还是将它们降到同一版本(如果是,是哪个版本?)?
我尝试进行实验,但在文档中除了创建和包安装之外找不到任何内容。
编辑: 注意:对我来说,即使是部分答案(至少一个问题)也会有用并被接受,直到提供模式完整答案。
我将尝试尝试回答这些问题,我认为您阅读一些内容会受益更多 virtual environment documentation。
- 当您是 运行 一个 python 脚本时,如果您激活虚拟环境,虚拟环境将取代您的 "main installation"。因此,一旦虚拟环境处于活动状态,它将始终查看虚拟环境安装的模块,而不是 "main" 安装。
不,一旦虚拟环境被激活,你就不能访问方法 "main" 安装一个模块。 Python 在创建虚拟环境时的默认行为将不包括您在虚拟环境中 "main" 安装的任何现有站点包。
What happens if I import into a script using one virtual environment
如上所述,这不是虚拟环境的工作方式。