问题描述
在 linux 系统上,用 pip 成功安装了软件 flask
root@localhost:~ pip list |grep -i flask
Flask 2.3.2
使用时发现找不到命令,这里用 pip show flask 可以查看安装包的详细信息,但是并没有可执行程序的位置信息
root@localhost:~ flask --help
zsh: command not found: Flask
root@localhost:~ which flask
flask not found
root@localhost:~ pip show flask
Name: Flask
Version: 2.3.2
Summary: A simple framework for building complex web applications.
Home-page:
Author:
Author-email: Armin Ronacher <armin.ronacher@active-4.com>
License: BSD-3-Clause
Location: /usr/local/python38/lib/python3.8/site-packages
Requires: blinker, click, importlib-metadata, itsdangerous, Jinja2, Werkzeug
Required-by:
查找可执行程序实际安装位置
root@localhost:~ find / -name flask
/usr/local/python38/bin/flask
/usr/local/python38/lib/python3.8/site-packages/flask
发现 flask 安装到 python 安装路径下了,没有自动 copy 到例如 /usr/local/bin 等全局命令路径。
解决办法
第一种:比较粗暴
将 /usr/local/python38/bin 添加到 path 中
第二种:优雅一点
修改 pip 配置,将软件安装目录指定到 /usr/local/bin 等已经在 path 中的路径。
修改 pip 配置
root@localhost:~ pip config set global.target /usr/local/bin
Writing to /root/.config/pip/pip.conf
root@localhost:~ cat /root/.config/pip/pip.conf
[global]
target = /usr/local/bin
设置安装位置后系统会提示修改的内容写入到了配置文件,这里告诉了配置路径,以后想修改配置也可以直接编辑该文件。
因为刚设置好软件安装位置,需要重新安装一下要用的软件,这里是 pip install flask。然后就可以正常使用软件了。