如何在 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
我尝试 运行 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