在Catalina,Python / Python3,pip / pip3,PATH,zshrc等中使用zsh时出现问题


14

我最近更新为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自动安装的(尽管我的返回一个错误),并且也应该安装在我的User中而不是/ usr中?另外,我的$ PATH仍然包含残留物,例如Anaconda,此后我将其删除了...如何/在何处更新我的$ PATH?在zshrc文件中?


似乎无论进行什么编辑(例如,由于不再使用它,都从/ etc / paths文件中删除了anaconda),哪个python和哪个python3都指向/ usr / bin而不是其他位置。
OJT

1
which -a将按照它们在中显示的顺序显示所有可能匹配的路径PATH。该信息可能被证明是有用的。
chepner

在Catalina上更新pip使用后,我遇到了同样的问题sudo pip3 install ---upgrade pip。但是,使用python3 -m pipsitll可以工作。您可以将其用作解决方法。
乔纳斯·德罗列夫

Answers:


8

全新安装Catalina之后,我遇到了这个问题。我也在用zsh

我做错了什么:

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

sudo pip3 install --upgrade pip

按照提示。但是,这不适用于Apple的python,因为路径不正确。而是sudo -H应使用。

我如何固定点子:

幸运的是,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

希望这也能解决您的问题。



0

我通过删除〜/ Library / Python解决了该问题。


请只要你回答问题或添加任何评论,请确保它是这样的形式这是其他人可以理解的,是有道理的,如果一个新用户的用武之地
阿什温阿格拉瓦尔

0

我还用Kitty术语在全新安装的MacOS Catalina上处理了此问题emulator + ohmyzsh

读了这个问题后,我发现我.zshrc的行仍然在留言

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

我删除了注释,将$ HOME / bin添加到PATH中

~/.zshrc

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

此更改使我能够成功运行pip3命令,而不会出现追溯错误。


0

我有一个类似的问题。您可以使用

rehash

在命令行中更新路径。它为我解决了这个问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.