我刚开始使用Windows 7上的virtualenv和virtualenvwrapper。我已经使用(分别)Python 2.7,3.4和3.5创建了3个不同的测试项目
我想创建一个Requirements.txt文件,为每个Python版本安装正确的二进制lxml模块。这样我可以在我可能创建的任何virtualenv上运行pip install -r "C:\PyModules\requirements.txt"
。在an example listed elsewhere之后我尝试了这样的requirements.txt文件:
C:\PyModules\lxml-3.5.0-cp27-none-win_amd64.whl; python_version == '2.7'
C:\PyModules\lxml-3.5.0-cp34-none-win_amd64.whl; python_version == '3.4'
C:\PyModules\lxml-3.5.0-cp35-none-win_amd64.whl; python_version == '3.5'
但它没有用。在2.7环境中使用带有pip的文件可以得到:
lxml-3.5.0-cp34-none-win_amd64.whl is not a supported wheel on this platform.
在我的3.4环境中尝试它:
lxml-3.5.0-cp27-none-win_amd64.whl is not a supported wheel on this platform.
我曾希望环境标记(python_version ==' 2.7')会导致pip完全跳过那些引用不适合该Python版本的包的行。但是,当它检查WHL文件时,Python似乎忽略了python_version标记。
有没有办法在单个需求文件中完成我想要的内容?
编辑#1:这是Windows 7(64位),点7.1.2和virtualenv 13.1.2
编辑#2:正如Sebastian建议的那样,我尝试删除requirements.txt文件中数字周围的引号,这似乎是正确的方法:
C:\PyModules\lxml-3.5.0-cp27-none-win_amd64.whl; python_version == 2.7
C:\PyModules\lxml-3.5.0-cp34-none-win_amd64.whl; python_version == 3.4
C:\PyModules\lxml-3.5.0-cp35-none-win_amd64.whl; python_version == 3.5
但是在2.7环境下,我现在得到了这个新错误:
SyntaxError: don't know how to evaluate 'num' '2.7'
并且在3.4中它仍然是这个错误:
lxml-3.5.0-cp27-none-win_amd64.whl is not a supported wheel on this platform.