使用错误的Python可执行文件激活的虚拟环境

时间:2019-09-20 14:35:45

标签: python linux pycharm virtualenv

我正在通过PyCharm进行一个项目。当我启动项目时,项目解释器是一个新创建的virtualenv,位于我的项目文件夹/path/to/project_folder/venv中,并使用基本解释器/usr/bin/python3.6

在PyCharm中工作时,Python控制台似乎正在使用正确的venv / Python可执行文件等。运行os.system("which python")返回/usr/bin/python

接下来,我使用命令source /path/to/project_folder/venv/bin/activate通过我的终端(在Ubuntu 18.04上)激活该venv,该命令运行良好,并向我显示已通过(venv)激活。但是,如果我运行which python,它将返回/home/user/anaconda3/bin/python

为什么会这样?如何通过Ubuntu终端从PyCharm控制台访问同一Python解释器?

1 个答案:

答案 0 :(得分:1)

我在一个特定的项目中也发生了同样的事情。

症状:

  • 没有从 venv 中提取的可执行文件;即:
  • which python3 来自 bash 不是取自 venv
  • Python 包无法从 venv 运行

原因:

  • 您重命名了项目文件夹
  • 虚拟环境 PATH 保留了 venv 的旧路径
  • 它默默地失败

解决方案:

  1. 创建一个新的 venv 并重新安装要求,或者
  2. 将文件夹重命名为其旧名称

更改 PATH 不是解决方案。 venv 脚本在各种文件中创建了一些其他路由。

注意:使用 python3 -m venv venv

测试