Mac 中pycharm的终端和代码框解释器不一致解决

9、Mac 中pycharm的终端和代码框解释器不一致解决

使用 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,这是为什么

这是因为 zshbash 在处理终端的环境变量时有所不同。通常来说,当你在 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界面查看管理包

posted @   小董同学32  阅读(1095)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示