在我的python包htrest(https://pypi.org/project/htrest/)中,我具有以下要求:
requirements = [
'htheatpump==1.2.1',
'Flask==1.1.1',
'flask-restx==0.1.1',
'Flask-BasicAuth==0.2.0',
# put package requirements here
]
当我使用pip install htrest
安装它时,有时会失败,并显示以下消息:
flask-restx 0.1.1 has requirement werkzeug<=0.16.1, but you'll have werkzeug 1.0.0 which is incompatible.
似乎是由于werkzeug==1.0.0
(Flask
)的要求,点子正在选择Werkzeug>=0.15
Collecting Werkzeug>=0.15 (from Flask==1.1.1->htrest)
Using cached https://files.pythonhosted.org/packages/ba/a5/d6f8a6e71f15364d35678a4ec8a0186f980b3bd2545f40ad51dd26a87fb1/Werkzeug-1.0.0-py2.py3-none-any.whl
尽管flask-restx
需要werkzeug<=0.16.1
。
另一方面,有时点会选择werkzeug
(0.16.1
)的合适版本:
Collecting werkzeug<=0.16.1 (from flask-restx==0.1.1->htrest)
Using cached https://files.pythonhosted.org/packages/c2/e4/a859d2fe516f466642fa5c6054fd9646271f9da26b0cac0d2f37fc858c8f/Werkzeug-0.16.1-py2.py3-none-any.whl
以符合Flask
和 flask-restx
的要求。
任何人都可以向我解释原因以及如何解决此问题?
关于,丹尼尔。
默认情况下,pip install <package_name>
命令始终会寻找软件包的最新版本并进行安装。如果要安装以前的版本,则必须指定该版本。 This article provides full details on how pip works
在您的情况下,您应该这样进行:
pip3 uninstall Werkzeug # uninstalling the current Werkzeug
pip3 install Werkzeug==0.16.1 # install specific version of Werkzeug