Python 如何强制pip使用依赖项的现有版本

Python 如何强制pip使用依赖项的现有版本,python,pip,protocol-buffers,Python,Pip,Protocol Buffers,我在一个virtualenv中,在requirements.txt中有一行pytz==2012h,由pip使用。当我运行pip install protobuf时,它会失败,回溯以以下内容结束: pkg_resources.VersionConflict: (pytz 2012h (/home/alex/work/app/venv/lib/python2.7/site-packages), Requirement.parse('pytz>=2010')) 这看起来很愚蠢,肯定是2012h

我在一个
virtualenv
中,在
requirements.txt中有一行
pytz==2012h
,由
pip
使用。当我运行
pip install protobuf
时,它会失败,回溯以以下内容结束:

pkg_resources.VersionConflict: (pytz 2012h (/home/alex/work/app/venv/lib/python2.7/site-packages), Requirement.parse('pytz>=2010'))
这看起来很愚蠢,肯定是
2012h>=2010
?我使用
pdb
进行了深入研究,最终得出以下结论:

268             if not isinstance(prospective, Version):
269  ->             return False

其中,
prospective
。因此,版本比较失败(即,它决定不满足需求),因为它将2012h解释为
LegacyVersion
。我能绕开这个吗?用
安装
protobuf
——没有dep
是不起作用的。

可能是个愚蠢的问题,但你肯定是在调用virtualenv的
pip
二进制文件吗?
$which pip
返回什么?可能是一个愚蠢的问题,但您确实在调用virtualenv的
pip
二进制文件吗?
$哪个pip
返回什么?