如何在 MAC 上管理 Python 路径

How to manage Python path on MAC

我尝试 运行 Django 项目并创建一个新应用程序。终端运行 python manage.py makemigrations 时,找不到Django 导入错误,虚拟环境没有激活?

我尝试搜索答案后,可能是解释器的问题。然后我发现我安装了多个 Python 版本并且 anaconda.And macOS 包含 Python 2.7。我完全糊涂了。

以下是我的zsh文件


export PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8:$PATH"

#python
alias python='/usr/local/bin/python3' or alias python='/usr/bin/python3'

#conda
export PATH=/Users/smart/opt/anaconda3/bin:$PATH

#ruby

iterm2

 smart@smartMBP  ~  which python
python: aliased to /usr/bin/python3

 smart@smartMBP  ~  which -a python
python: aliased to /usr/bin/python3
/Users/smart/opt/anaconda3/bin/python
/usr/bin/python

 smart@smartMBP  ~  which -a python3
/Users/smart/opt/anaconda3/bin/python3
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
/usr/local/bin/python3
/usr/bin/python3

smart@smartMBP  ~  conda --version
conda 4.7.12

 smart@smartMBP  ~  echo $PATH
/Users/smart/opt/anaconda3/bin
/Users/smart/bin
/opt/flutter/bin
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
/Library/Frameworks/Python.framework/Versions/3.9/bin
/Library/Frameworks/Python.framework/Versions/3.8/bin

我该怎么办?路径应该使用 '/Library/Frameworks/Python.framework' 还是 '/usr/bin/' ? zsh会只读取第一个有效路径,还是会继续读取被覆盖的路径?

想删了重装,又怕坏了

感谢任何建议

你应该使用 pyenv 来隔离每个项目之间的环境

使用 pip3.x(例如 pip3.10)在 latest/currently 使用的 Python 版本上安装软件包:

pip3.10 install django

python3.10 -m pip install django

并确保程序 运行 由相同的 python 可执行文件

python3.10 manage.py makemigrations