Python 虚拟电视是否应该拥有它';“我们自己的”;argparse";?

Python 虚拟电视是否应该拥有它';“我们自己的”;argparse";?,python,virtualenv,Python,Virtualenv,我有一个虚拟环境,由多台机器上的多个人使用。我今天遇到一个问题,用户无法导入argparse 问题是我运行的是python2.7.102,而他运行的是2.7.13。virtualenv中的python是我的,所以是2.7.102。这意味着它在错误的地方寻找系统库(/usr/local/cillar/python/2.7.10_2,而不是2.7.13/),但是,我认为虚拟环境的要点是所有库都在venv中,因此实际上在任何地方安装了什么版本的python都无关紧要 然而,在venv/lib/site

我有一个虚拟环境,由多台机器上的多个人使用。我今天遇到一个问题,用户无法导入argparse

问题是我运行的是python2.7.102,而他运行的是2.7.13。virtualenv中的python是我的,所以是2.7.102。这意味着它在错误的地方寻找系统库(/usr/local/cillar/python/2.7.10_2,而不是2.7.13/),但是,我认为虚拟环境的要点是所有库都在venv中,因此实际上在任何地方安装了什么版本的python都无关紧要

然而,在venv/lib/site包中似乎没有argparse,因此它使用了我原来的PYTHONPATH,这对用户来说是不正确的

出于其他原因,virtualenv最初是使用可重定位标志创建的,所以这不是问题所在

预计到达时间:
我提出的解决方案(虽然很糟糕)是,我让用户symlink 2.7.13到2.7.102,因此它可以找到他的原始库。

virtualenv有一个创建时间可配置标志,确定您是否希望访问virtualenv之外的库——尽管是标准库模块(对于Python 2.7,它包括argparse)应该始终是可访问的。也就是说,virtualenv与创建它的Python运行时绑定在一起——它们不应该像您在这里所做的那样在安装了不同运行时的计算机之间共享。是的,默认情况下没有设置站点包。我假设其中包括标准库。我想知道这一点并不好!(请随意将此作为答案发布,我会接受。)
--没有任何网站包不打算排除标准库,但由于VirtualNV不打算跨不同的解释器版本进行移植,我们遇到了一个棘手的问题。(我不会称之为“bug”),因为它是在预期环境之外使用的(假设创建它时使用的特定解释器可用)…我可以问一下这是如何共享的吗?例如,如果是NFS挂载,为什么不让virtualenv所依赖的Python解释器位于该挂载上?