如何更改pip的包安装目录并解决PyCharm无法识别已安装包问题
刚接触Python就遇到这种路径不匹配的问题确实挺闹心的,我来帮你一步步搞定它!
首先咱们得先搞清楚问题根源:你的系统里其实关联了两个pip环境——一个对应用户目录下的Python(就是你看到的C:\Users\mikke\AppData\Roaming\python\python311),另一个才是你安装在C:\Program Files\Python311的官方Python。之前你删了环境变量但没生效,大概率是因为调用pip时,还是默认用了用户目录里的那个。
第一步:确认当前pip对应的Python环境
先打开命令提示符(CMD),输入这个命令看看当前pip的归属:
pip --version
如果输出里的路径是C:\Users\mikke\AppData\Roaming\python\python311,那说明你确实在用户环境下操作,接下来咱们切换到正确的Python环境。
第二步:让pip安装到正确的目录
这里有两种方法,临时和永久的都给你列出来:
方法1:临时指定安装目录(单次生效)
每次安装包的时候,用下面的命令直接指定安装到目标site-packages目录:
python -m pip install --target "C:\Program Files\Python311\Lib\site-packages" 你要装的包名
比如你要装requests,就写:
python -m pip install --target "C:\Program Files\Python311\Lib\site-packages" requests
方法2:永久修改pip配置(一劳永逸)
- 打开文件管理器,进入你的用户目录
C:\Users\mikke - 新建一个名为
pip的文件夹(如果已经有就跳过) - 在这个
pip文件夹里新建文本文件,命名为pip.ini - 打开
pip.ini,粘贴下面的内容并保存:
[global] target = C:\Program Files\Python311\Lib\site-packages
或者你也可以用命令行直接设置,打开CMD输入:
python -m pip config set global.target "C:\Program Files\Python311\Lib\site-packages"
这样以后用pip install时,包就会自动装到正确的目录里了。
第三步:让PyCharm识别到正确的包
解决了pip的安装路径,还要让PyCharm用上这个正确的Python环境:
- 打开你的PyCharm项目,点击顶部菜单栏的
File>Settings(或按快捷键Ctrl+Alt+S) - 在左侧菜单找到
Project: [你的项目名称]>Python Interpreter - 点击右上角的齿轮图标,选择
Add - 在弹出窗口里选择
System Interpreter,点击右侧的三个点按钮,找到C:\Program Files\Python311\python.exe并选中 - 点击
OK保存设置,等待PyCharm加载这个环境的包列表 - 之后你再看PyCharm的解释器,就能看到之前安装的包了,代码里也不会再标红提示找不到包啦
补充说明
你之前卸载pip没用的原因是:卸载的只是用户目录下的pip,但当你再次调用python -m pip时,系统会自动重新安装适配当前Python环境的pip——如果你当时用的还是用户目录的Python,那pip自然又回到原来的路径了。所以核心是要确保你操作的是C:\Program Files\Python311下的Python和pip。
备注:内容来源于stack exchange,提问作者Mikkel hein Wadsholt




