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

OJT*_*OJT 8 python zsh path zshrc macos-catalina

我最近更新为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
Run Code Online (Sandbox Code Playgroud)
$ which python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
$ which pip
pip not found
Run Code Online (Sandbox Code Playgroud)
$ which pip3
/usr/bin/pip3
Run Code Online (Sandbox Code Playgroud)
$ 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
Run Code Online (Sandbox Code Playgroud)
$ cat ~/.zshrc
export PATH=$PATH:/usr/local/bin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
$ 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
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决所有这些问题?据我了解:我只需要Python2.x用于操作系统;与Catalina一起使用时,我现在应该在我的用户内存储Python3.x (不在/ usr中)?pip3是随Python3.x自动安装的(尽管我的返回一个错误),并且还应该安装在我的User中而不是/ usr中?此外,我的$ PATH仍然包含残留物,例如Anaconda,此后我将其删除了...如何/在何处更新我的$ PATH?在zshrc文件中?

Jon*_*eff 12

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

我做错了什么:

pip使用以下方法安装了新版本:

sudo pip3 install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

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

我如何修复 pip:

幸运的是,python3 -m pip仍然可以作为pip3.

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

sudo -H python3 -m pip install --upgrade pip==19.3.0
Run Code Online (Sandbox Code Playgroud)

然后再次升级:

sudo -H python3 -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

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