为什么Python Venv有一个;“家”;当它们还具有python.exe文件时,是否在其配置中设置?

为什么Python Venv有一个;“家”;当它们还具有python.exe文件时,是否在其配置中设置?,python,python-venv,Python,Python Venv,当我试图使用一个Python虚拟环境时,我遇到了一条错误消息“ThisSDK似乎无效”,我从一个客户的机器上复制了这个虚拟环境,并且我最初安装在他的机器上。问题在于pyenv.cfg中“home”设置中的Python文件夹是客户机器上的文件夹,而不是我机器上的文件夹。一旦我解决了这个问题,它就成功了 但我(再一次)被虚拟环境的工作原理弄糊涂了。我是由介绍解决方案的,它说,虽然虚拟环境隔离库和设置,但它们不会隔离Python安装本身。但如果是这样,为什么在我的venv文件夹中有一个python.e

当我试图使用一个Python虚拟环境时,我遇到了一条错误消息“ThisSDK似乎无效”,我从一个客户的机器上复制了这个虚拟环境,并且我最初安装在他的机器上。问题在于pyenv.cfg中“home”设置中的Python文件夹是客户机器上的文件夹,而不是我机器上的文件夹。一旦我解决了这个问题,它就成功了


但我(再一次)被虚拟环境的工作原理弄糊涂了。我是由介绍解决方案的,它说,虽然虚拟环境隔离库和设置,但它们不会隔离Python安装本身。但如果是这样,为什么在我的venv文件夹中有一个python.exe文件?或者主设置通常指向venv文件夹中的文件,但它在我客户的机器上以某种方式被更改了吗?

我不能声称知道这个问题的确切答案。我的猜测是需要
home
来查找诸如标准库等内容。这些内容并不是针对每个虚拟环境复制的。您可能需要阅读以了解详细信息。

您能否详细说明,您正在尝试做什么和实现什么,我建议您尝试通过命令行而不是使用pycharm默认IDE来设置virtual env。这将帮助您更好地理解。不,恐怕我无法详细说明。在这一点上,我知道如何做我需要做的事情。我想要达到的是理解我为什么要这么做。更具体地说,我想知道,当venv本身包含Python安装时,为什么虚拟环境需要引用Python的外部安装。例如,要使用pipenv创建虚拟环境,您需要一个
pipenv
Python模块和
pip
模块,并且有依赖项,要运行这些,我们需要python本地安装或模块(您需要指定路径,而不是bashrc文件中的路径),这些文件将根据指定的版本和文件获取/下载新的python设置,然后创建虚拟环境。谢谢,但这并不能回答我的问题。为什么pyenv.cfg中有一个设置指向venv外部的Python安装,而venv内部有Python安装?当创建venv时,我们显然需要知道它的基础是什么Python安装,但我不明白为什么我们需要在创建venv后了解任何外部Python安装。很抱歉,我无法提供太多帮助,但@sinoroc在解决方案中提供PEP 405,这可能是原因。这对我来说真的很新鲜,谢谢你增加了我的知识