本地Flask包(tar.gz/whl格式)通过pip安装失败求助
解决本地安装Flask包时依赖缺失的问题
从你给出的命令输出能看出来,你在本地安装Flask 1.0.2的时候遇到了依赖找不到的问题——不管是用tar.gz包还是whl包,pip都提示找不到Werkzeug、itsdangerous这些依赖。这是因为你用了--no-index和--find-links参数,这会让pip只在你指定的/root目录里找所有需要的包,但你的目录里只有Flask本身的包,没有它依赖的其他组件。
先把你遇到的错误场景再清晰展示下:
[root@localhost ~]# pwd /root [root@localhost ~]# ls -l | grep -i flask -rw-r--r-- 1 root root 91364 May 28 06:56 Flask-1.0.2-py2.py3-none-any.whl -rw-r--r-- 1 root root 644534 May 30 03:44 Flask-1.0.2.tar.gz [root@localhost ~]# pip install --no-index --find-links=file:////root Flask-1.0.2.tar.gz Looking in links: file:////root/ Processing ./Flask-1.0.2.tar.gz Collecting Werkzeug>=0.14 (from Flask==1.0.2) Could not find a version that satisfies the requirement Werkzeug>=0.14 (from Flask==1.0.2) (from versions: ) No matching distribution found for Werkzeug>=0.14 (from Flask==1.0.2) [root@localhost ~]# pip install --no-index --find-links=file:////root Flask-1.0.2-py2.py3-none-any.whl Looking in links: file:////root/ Processing ./Flask-1.0.2-py2.py3-none-any.whl Collecting itsdangerous>=0.24 (from Flask==1.0.2) Could not find a version that satisfies the requirement itsdangerous>=0.24 (from Flask==1.0.2) (from versions: ) No matching distribution found for itsdangerous>=0.24 (from Flask==1.0.2)
解决思路和步骤
1. 先把Flask的所有依赖包下载到本地目录
Flask 1.0.2需要的依赖包括:Werkzeug>=0.14、Jinja2>=2.10、itsdangerous>=0.24、click>=5.1。你需要把这些包也放到/root目录里,pip才能找到它们。
如果你的机器能联网,直接用
pip download命令一键下载所有依赖:pip download Flask==1.0.2 -d /root这个命令会把Flask和它所有的依赖包(whl或tar.gz格式)都下载到
/root目录下。如果是离线环境,你需要在能联网的机器上执行上面的命令,把下载好的所有包复制到目标机器的
/root目录里。
2. 再次执行本地安装命令
等所有依赖包都在/root目录后,再执行你原来的安装命令就可以成功了:
安装tar.gz包:
pip install --no-index --find-links=file:///root Flask-1.0.2.tar.gz安装whl包:
pip install --no-index --find-links=file:///root Flask-1.0.2-py2.py3-none-any.whl
额外提示
如果你不想下载所有依赖,也可以先跳过依赖安装Flask(不推荐,容易出现版本不兼容问题),命令是:
pip install --no-index --find-links=file:///root --no-deps Flask-1.0.2.tar.gz
但之后你还是得手动安装所有缺失的依赖,所以更稳妥的方式还是先把所有依赖都准备好。
内容的提问来源于stack exchange,提问作者Viktor
相关产品推荐
相关产品推荐

