我有一个虚拟环境,多个人在多台机器上使用它。我今天遇到一个问题,用户无法导入argparse。
问题最终是因为我正在运行python2.7.10_2并且他正在运行2.7.13。 virtualenv中的python是我的,所以2.7.10_2。这意味着它正在寻找错误位置的系统库(/usr/local/Cellar/python/2.7.10_2,而不是2.7.13 /)但是,我认为虚拟环境的重点是所有的库在venv中,所以你实际安装的python版本并不重要。
但是,似乎venv / lib / site-packages中没有argparse,所以它使用我原来的PYTHONPATH,这对用户来说是不正确的。
由于其他原因,virtualenv最初是使用可重定位标志创建的,所以这不是问题。
ETA: 我提出的解决方案(虽然它是可怕的kludge)是我有用户符号链接2.7.13到2.7.10_2,所以它可以找到他原来的库。