9、Mac 的anaconda终端不一致解决
使用 pycharm 创建virtualenv 环境后,命令行和终端的代码解释器不一致
/usr/bin/python3是系统自带的 Python 3 解释器
问:但是为什么pycharm在这里要让我选择一个base interpreter解释器呢?virtualenv不是会创建一个新的虚拟环境解释器吗?为什么这里还要我选择?
在某些情况下,可能会存在多个解释器版本可供选择。例如,您可能已经安装了多个 Python 环境,或者您可能已经创建了多个虚拟环境。在这种情况下,您需要选择正确版本的解释器作为 Base Interpreter。PyCharm 会自动检测并列出可用的解释器版本,您可以从列表中选择合适的版本作为 Base Interpreter。
Mac 的anaconda终端不一致解决
问题:pycharm里面代码框的解释器和命令行解释器采用的不是一个解释器,很混乱,而且安装py包的时候又不知道安装在哪里去了。
目的:点击 pycharm 右上角运行和命令行使用 python main.py 运行是一样的。
可以使用~/anaconda3/envs/contest1/bin/python [main.py](http://main.py)
运行,不能使用 python 直接运行。
原因:zsh 和 bash 不一样
zsh
(contest1) dongqinuo@MacBook-Air pythonProject1 % which python
/usr/local/bin/python
bash
(contest1) MacBook-Air:pythonProject1 dongqinuo$ which python
/Users/dongqinuo/anaconda3/envs/contest1/bin/python
也就是说当选择到bash终端下的时候,conada的命令就是
(contest1) bash-3.2$ ls
main.py
ChatGPT:
我找到问题了,当我使用一种叫做zsh的终端的时候,which python会打印系统安装的全局python 但是我使用base终端的时候系统会打印/Users/dongqinuo/anaconda3/envs/contest1/bin/python,这是为什么
这是因为 zsh
和 bash
在处理终端的环境变量时有所不同。通常来说,当你在 bash
中激活一个 Anaconda 环境时,它会将该环境添加到 PATH 环境变量的开头,所以系统中的 python
命令会被链接到激活的环境中的 Python 解释器。
然而,在 zsh
中,Anaconda 的 shell 脚本可能不会自动地修改 PATH 变量。这可能会导致使用 which python
会返回系统安装的全局 Python 解释器的路径。因此,在 zsh
中确保已经正确地激活了 Anaconda 环境非常重要,否则你可能会意外地使用系统中的全局 Python 解释器。
其二是针对 venv 环境下也是命令行和代码窗口解释器不一致
原因:在系统的环境配置里面写死了path
文件名字:.bash_profile。路径/Users/dongqinuo/.bash_profile
# export PATH=${PATH}:/usr/local/mysql/bin
export PATH=/usr/local/bin:$PATH
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export PATH=$PATH:/Applications/phpstudy/Extensions/MySQL5.7.28/bin/
# alias python="/usr/local/bin/python3"
alias pip="/usr/local/bin/pip3"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/dongqinuo/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/dongqinuo/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/dongqinuo/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/dongqinuo/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
alias python="/usr/local/bin/python3"注释掉这一行代码,不能直接写死到里面。
修改完配置文件之后,需要使用 source .bash_profile 使其生效
创建anaconda环境
可以在anaconda gui界面查看管理包