1. 使用 pip 安装应用报错 pip install fastapi,报错信息为:AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
这是由于 python3.12 自带的 pip 版本较老导致,需要升级对应的 pip 版本。执行命令 python -m ensurepip --upgrade 即可
2. 继续执行上述命令,提示 No such file or directory
这是由于 pip 没有切换到虚拟环境导致的。按照下面操作即可
# 查看当前pip的路径
(venv) (base) localhost:learn-fastapi johnny$ which pip
/opt/anaconda3/bin/pip
# 预期python pip的应该执行路径
(venv) (base) localhost:learn-fastapi johnny$ type pip
pip is hashed (/Users/johnny/Documents/ken/workspace/code/02-python/learn-fastapi/venv/bin/pip)
# 刷新hash,建立连接
(venv) (base) localhost:learn-fastapi johnny$ hash -r
当上述命令执行完成,在重新执行 pip install 命令就可以了
3. pip 换源
由于 pip 默认源类似于 Docker 源,直接访问速度会比较慢,可以使用国内源进行替代,常用的国内源如下
# 永久更换pip源(此时pip源地址配置文件地址如下图所示)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
对于非 https 的域名,可以通过设置信任源来解决警告的问题,配置如下所示
# 创建文件`/Users/johnny/.config/pip/pip.conf`,内容如下
# set chinese's pypi
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com