【发布时间】:2020-01-21 15:15:28
【问题描述】:
我正在通过 PyCharm 开展一个项目。当我开始项目时,项目解释器是一个新创建的 virtualenv,位于我的项目文件夹 /path/to/project_folder/venv 并使用基本解释器 /usr/bin/python3.6。
在 PyCharm 中工作时,Python 控制台似乎正在使用正确的 venv/Python 可执行文件等。运行 os.system("which python") 返回 /usr/bin/python。
接下来,我通过我的终端(在 Ubuntu 18.04 上)使用命令 source /path/to/project_folder/venv/bin/activate 激活此 venv,该命令运行良好,并显示它已使用 (venv) 激活。但是,如果我运行which python,它会返回/home/user/anaconda3/bin/python。
为什么会这样?如何通过我的 Ubuntu 终端从 PyCharm 控制台访问相同的 Python 解释器?
【问题讨论】:
-
/usr/bin/python 可能是指向 /usr/bin/python3.6 的符号链接,这意味着在您的 pycharm 环境中,您实际上使用的是系统 python 而不是 virtualenv。 venv 的解释器应位于 /path/to/project_folder/venv/Scripts 中。当您手动采购 venv 时,您会退回到您的 anaconda3 解释器,在我看来,您的机器上安装了几个解释器,这会导致问题。
-
感谢您的评论。我认为 venv 的解释器位于
/path/to/project_folder/venv/bin/python,即使运行os.system("which python")返回/usr/bin/python。我这么认为的原因是因为如果我激活 venv 然后,我没有运行python(这让我进入 anaconda 解释器),而是运行/path/to/project_folder/venv/bin/python,我输入了一个与 PyCharm 相同的解释器,看起来.我能够导入所有属于 venv 的站点包等。我不知道为什么运行python不会直接将我带到 venv 解释器...
标签: python linux pycharm virtualenv