如何激活 PyCharm 终端内的 virtualenv?

新手上路,请多包涵

我已经设置了 PyCharm,创建了我的 virtualenv(通过 virtual env 命令,或直接在 PyCharm 中)并激活该环境作为我的解释器。一切正常。

但是,如果我使用“工具,打开终端”打开终端,则提供的 shell 提示 使用虚拟环境;我仍然必须在该终端内使用 source ~/envs/someenv/bin/activate 来激活它。

另一种方法是在 shell 中激活环境,并从该环境运行 PyCharm。这是“可行的”但非常丑陋,这意味着如果我从 PyCharm 切换环境或项目,我会遇到重大问题:我现在使用的是完全错误的环境。

有没有其他更简单的方法让“工具,打开终端”自动激活虚拟环境?

原文由 Chris Cogdon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 695
2 个回答

编辑:

根据 https://www.jetbrains.com/pycharm/whatsnew/#v2016-3-venv-in-terminal ,PyCharm 2016.3(2016 年 11 月发布)开箱即用地支持终端 virutalenv

bash、zsh、fish 和 Windows cmd 支持自动 virtualenv。您可以在设置(首选项)| 中自定义您的 shell 首选项。工具 |航站楼 |检查激活virtaulenv

您还需要确保将虚拟环境路径的路径包含在项目结构的内容根文件夹中。您可以转到设置(偏好)|项目 |项目结构 |如果您的环境未包含在项目目录中。


***旧方法:***

使用以下内容在您的主文件夹中创建一个文件 .pycharmrc

 source ~/.bashrc
source ~/pycharmvenv/bin/activate

使用您的 virtualenv 路径作为最后一个参数。

然后将shell Preferences->Project Settings->Shell path设置为

/bin/bash --rcfile ~/.pycharmrc

原文由 Peter Gibson 发布,翻译遵循 CC BY-SA 4.0 许可协议

更新:

设置(Preferences)中的首选项 |工具 |终端是全球性的。

如果您为每个项目使用一个 venv,请记住使用当前路径变量和一个默认的 venv 名称:

 "cmd.exe" /k ""%CD%\venv\Scripts\activate""


对于 Windows 用户:在虚拟环境中使用 PyCharm 时,您可以使用 /K 参数到 cmd.exe 来自动设置虚拟环境。

PyCharm 3 or 4: Settings , Terminal , Default shell and add /K <path-to-your-activate.bat> .

PyCharm 5: Settings , Tools , Terminal , and add /K <path-to-your-activate.bat> to Shell path .

PyCharm 2016.1 or 2016.2: Settings , Tools , Terminal , and add ""/K <path-to-your-activate.bat>"" to Shell path and add (mind引号)。还要在 cmd.exe 周围添加引号,导致:

"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""

原文由 SaeX 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题