我的需求文件是这样的:
https://github.com/sontek/pyramid_webassets/archive/38b0b9f9f4e36dc22b3a5c10eabf4d9228d97740.zip#egg=pyramid_webassets-0.0
https://github.com/miracle2k/webassets/archive/334d55c6bcfd091cb2d984777daf943acde0d364.zip#egg=webassets-0.8.dev
运行pip install -r requirements.txt
时我希望它安装特定版本的pyramid_webassets,然后安装特定的webassets版本(0.8.dev)
问题是pyramid_webassets将webassets作为子依赖项,并安装了此软件包的最新版本。
所以pip冻结的输出是
Chameleon==2.14
Mako==0.9.1
MarkupSafe==0.18
PasteDeploy==1.5.2
WebOb==1.3.1
argparse==1.2.1
pyramid==1.4.5
pyramid-webassets==0.0
repoze.lru==0.6
translationstring==1.1
venusian==1.0a8
webassets==0.9
wsgiref==0.1.2
zope.deprecation==4.1.0
zope.interface==4.0.5
你可能会注意到webassets版本是最新版本(0.9)虽然我指定了我想要的版本(0.8.dev)。
我尝试重新排序列表,添加--upgrade标志 - 没有任何帮助。
任何想法如何安装它并仍然具有所需的webassets版本?
感谢。
soultion:
我发现这个推荐很有用:
cat requirements.txt | xargs -L1 pip install
将按顺序逐个安装包
但是我们应该为最后一个包添加--upgrade,以便它升级它。
答案 0 :(得分:4)
使用pip install选项不安装包依赖项
$ pip install --no-deps -r requirements.txt
之后进行pip冻结
gottfried@sascha-Latitude-XT2:~/venv$ bin/pip freeze
argparse==1.2.1
pyramid-webassets==0.0
webassets==0.8.dev
wsgiref==0.1.2
参考
答案 1 :(得分:0)
当你将webassets高于列表中的pyramid_webassets时会发生什么?