Mac解决多个pip混乱,软连接设置无效的问题
问题
记一次修改配置pip3软连接,解决多pip混乱的问题。如此时我的电脑上Xcode有一个python3.8,自己安装python3.7.4。在命令行输入pip3,会自动调到python3.8下的pip3。踩了几个坑,记录下。
修改
1.要设置环境变量顺序
- 因为现在Mac下/usr/local/bin的环境变量是可以修改的,但是/usr/bin的不能更改的。所以我们要保证/usr/local/bin的环境变量位置在/usr/bin前面,这样才能先读/usr/local/bin的数据。
- 在bash_profile中加入该命令
#进入终端,打开bash_profile文件
vim ~/.bash_profile
# 加入以下命令
export PATH="/usr/local/bin:$PATH"
2、找到文件路径
-
其实设置软连接不难,但是我在设置的过程中,却始终不起作用。这是因为,你的链接地址文件不对,或者说该链接下文件压根不存在!
-
最简单的一个测试方法,使用which命令,就能看到这个软件也没有效。如图,一个会打印结果,一个不会。那么就证明它压根没起作用
-
如我此时的python3是正确的(即是自己安装的python3.7.4),那么我要使用其对应的pip3安装包。那么可以使用命令
python3 -m pip3 install xxx
对应的,我要查看这个pip3的位置,
python3 -m pip3 --version
6. 这里进入文件夹可以看到,这个目录下的pip,是一个文件夹而已。
7. 而真正的pip3执行文件其实是在3.7/bin下面。
至此,就找到了真正的pip3路径。对这个可执行文件建立软连接,才能真正的运行
设置软连接
- 删除原来的软连接
rm -rf /usr/local/bin/pip3
- 建立新的软连接
ln -s /Users/air/Library/Python/3.7/bin/pip3 /usr/local/bin/pip3。
- 至此再打印pip3 --version,就会得到结果。使用which pip3 也同样会看到软连接位置,使用pip3 list,确定一下确实是自己用的版本。
至此,大功告成,所以,关键还是要找对软连接的目标位置,并且是要exec的可执行文件。因为你哪怕位置错了,文件不存在,这个软连接都是可以建立,并且是存在与/usr/local/bin/ 目录下的。但是你用which命令和直接执行的时候又会报错 command not found。所以一定要记住,找对软连接目标文件的位置
参考文章:
https://www.omegaxyz.com/2020/02/05/mac-pip-config/