在Catalina系统中使用zsh、Python/Python3、pip/pip3、PATH、zshrc等存在问题

16

我最近更新到Catalina,并使用默认的zsh。在过渡期间,我可能弄乱了路径,现在正在尝试整理Python3.7、pip3、命令行PATH和我的zshrc文件的位置。

看起来,在/usr/bin、/usr/local/bin、/usr/local/Cellar/python和/Users/[user]/.local/bin中可能包含有多余的文件。

以下是命令的重现:

$ which python3
/usr/bin/python3
$ which python
/usr/bin/python
$ which pip
pip not found
$ which pip3
/usr/bin/pip3
$ pip3 -V
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 10, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable
$ cat ~/.zshrc
export PATH=$PATH:/usr/local/bin:/usr/bin
$ echo $PATH
/Users/[user]/.local/bin:/bin:/usr/bin:/usr/local/bin:/Users/[user]/anaconda3/bin:/Users/[user]/anaconda3/bin:/Users/[user]/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/[user]/anaconda3:/Library/TeX/texbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/usr/local/bin:/usr/bin:/usr/local/bin:/usr/bin

有谁能帮我排除所有这些问题吗?据我所知:我只需要Python2.x适用于操作系统; 在Catalina中,我现在应该仅在我的用户中存储Python3.x (仅仅)(而不是在/ usr中)? pip3会自动与Python3.x一起安装(尽管我的返回错误),并且还应该安装在我的用户中而不是在/ usr中?此外,我的$ PATH仍然包含剩余部分,例如Anaconda,但我已将其删除... 我如何/在哪里更新我的$ PATH?在zshrc文件中吗?


1
似乎无论进行了哪些编辑(例如,我从我的/etc/paths文件中删除了anaconda,因为我不再使用它),which python和which python3都指向/usr/bin而不是其他位置。 - OJT
2
which -a 将会显示出所有与 PATH 环境变量中顺序对应的可能路径。这些信息可能会证明很有用。 - chepner
1
在Catalina上,我使用sudo pip3 install ---upgrade pip更新了pip后遇到了相同的问题。但是,使用python3 -m pip仍然有效。您可以将其用作解决方法。 - Jonas
6个回答

13

在干净安装了Catalina之后,我遇到了这个问题。我也正在使用zsh

我的错误操作:

我通过使用以下命令安装了新版本的pip

sudo pip3 install --upgrade pip

提示执行此操作。但是,这在Apple的python中不起作用,因为路径不正确。应该使用sudo -H

我如何修复pip:

幸运的是,python3 -m pip仍然可以作为pip3的解决方法。

安装旧版本的pip(在我的情况下,19.3.0就足够了):

sudo -H python3 -m pip install --upgrade pip==19.3.0

然后再次升级:

sudo -H python3 -m pip install --upgrade pip

我希望这也能解决你的问题。


这并没有解决我的mkdocs问题,但它的一个版本确实解决了。如果有人需要帮助,mkdocs似乎需要pip而不是pip3。sudo -H python3 -m pip install --upgrade pip==19.3.0which pippip install mkdocsmkdocs - Glasgow

2
我和你一样也遇到了这个问题。通过以下方法解决:
brew install python3

3
和原帖作者的情况完全相同,但这并没有解决问题。 - Melka

2
我遇到过类似的问题。你可以使用:
rehash

在命令行中输入上述命令以更新路径。这对我解决了问题。

1
我通过删除~/Library/Python解决了这个问题。

2
请注意,每当您回答问题或添加任何评论时,请确保使用易于理解且有意义的格式,以便新用户加入时也能明白。 - ashwin agrawal

1
这个解决方案对我没用。在使用以下命令重新安装python3后:brew reinstall python3,我执行了以下操作:sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install 我从这个网站上看到的: https://mikebeach.org/2020/02/08/pip3-crashes-on-macos-catalina/ 希望对大家有所帮助。

1
我也遇到了这个问题,这是在安装了Kitty term模拟器和ohmyzsh之后在新的MacOS Catalina上运行时出现的。
阅读这个问题后,我查看了我的.zshrc文件,发现该行仍然被注释掉。
\#export PATH=$HOME/bin:/usr/local/bin:$PATH

我移除了这条注释,该注释将 $HOME/bin 添加到了 PATH 环境变量中

~/.zshrc

export PATH=$HOME/bin:/usr/local/bin:$PATH

这个更改使我成功运行了pip3命令,没有出现回溯错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接