pip根据setup.py更新所有virtualenv软件包

问题描述 投票:0回答:1

我有一个项目,该项目使用tox对CI进行各种检查。我可以在本地运行它。关键是,当flake8在Tox上被调用时,它会使用setup.py中的插件版本,因此,在这种情况下-最新的插件版本(因为我没有将它们限制为==<=)。我还在我的virtualenv中本地安装了flake8及其插件(在这种情况下,例如wemake-python-styleguide)。

问题是,与安装在tox环境中的软件包相比,有些软件包已经过时了。而且我在本地和管道上都遇到了不同的错误(我的意思是我可以在本地运行tox,但是在终端中运行flake8所花费的时间更长)。

所以我的问题是:有没有办法更新所有软件包?我的意思是即使使用pip install -e "."标志,我也可以运行pip install -e ".[dev,tests]"--upgrade,但它仍然无法更新我的软件包。我检查过:tox使用例如wemake-python-styleguide==0.13.1,在我的本地virtualenv中,我有wemake-python-styleguide==0.12.5

python pip pipenv flake8
1个回答
0
投票

一种方法是重新创建本地virtualenv或tox环境

您可以使用tox -r执行此操作

另请注意,较新版本的tox具有创建本地virtualenv的便捷命令(在.tox之外-tox --devenv ENVDIR] >>

例如,如果您想通过./venv38中的设置制作py38,则可以调用以下内容:

tox --devenv venv38 -e py38

或者,您可以使用pip升级软件包,但这可能会留下不需要的软件包:

pip install --upgrade --upgrade-strategy eager -e .[dev,tests]

(免责声明:我是tox的维护者之一,并添加了该功能-也是当前的flake8维护者,但在这里似乎与该问题无关]

© www.soinside.com 2019 - 2024. All rights reserved.