我在一个virtualenv中使用pip和一个需求文件,用于我的Django项目。我试图升级一些包,特别是Django本身,我得到了一个关于源代码冲突的错误:

<virtualenv>/build/Django的1.2.3版本与Django==1.2.4冲突(from -r requirements/apps.txt(第3行))

这是在我的需求文件中把Django的版本号从1.2.3更新到1.2.4之后。我使用这个命令来实际执行升级:

pip --install --upgrade -E `<virtualenv dir`> --requirement `<requirements file`>

我找不到任何标志,触发总包重新下载。我甚至尝试先运行卸载命令,然后再运行安装命令,但没有成功。我遗漏了什么吗?


当前回答

根据pip文档示例3:

pip install --upgrade django

但是根据我的经验,使用这种方法也会升级与之相关的任何包。例子:

假设你想要升级一些包,需要Django >= 1.2.4使用这种方法,它也会升级一些包和Django到最新的更新。为了安全起见,请:

# Assume you want to keep Django 1.2.4
pip install --upgrade somepackage django==1.2.4

这样做会升级一些包,让Django保持在1.2.4版本。

其他回答

根据pip文档示例3:

pip install --upgrade django

但是根据我的经验,使用这种方法也会升级与之相关的任何包。例子:

假设你想要升级一些包,需要Django >= 1.2.4使用这种方法,它也会升级一些包和Django到最新的更新。为了安全起见,请:

# Assume you want to keep Django 1.2.4
pip install --upgrade somepackage django==1.2.4

这样做会升级一些包,让Django保持在1.2.4版本。

我运行以下命令,它从1.2.3升级到1.4.0

pip install Django --upgrade

升级快捷方式:

pip install Django -U

注意:如果您正在升级的包有任何要求,此命令将额外升级所有要求到可用的最新版本。在pip的最新版本中,您可以通过指定——upgrade-strategy - only-if-needed来防止这种行为。有了这个标志,依赖项将不会升级,除非已安装的依赖包的版本不再满足升级包的要求。

——upgrade的快捷命令:

pip install Django --upgrade

Is:

pip install Django -U

这为我解决了问题:

pip install -I --upgrade psutil --force

然后只需卸载新版本的psutil,然后跳转,你可以突然安装旧版本(:

定义要升级的特定版本对我有帮助,而不仅仅是升级命令。

pip3 install larapy-installer==0.4.01 -U