python - 如何在 PyCharm 终端中激活 virtualenv?

标签 python django shell virtualenv pycharm

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

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

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

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

最佳答案

编辑:

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

Auto virtualenv is supported for bash, zsh, fish, and Windows cmd. You can customize your shell preference in Settings (Preferences) | Tools | Terminal | check Activate virtaulenv

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


***旧方法:***

在您的主文件夹中创建一个文件 .pycharmrc,其中包含以下内容

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

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

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

/bin/bash --rcfile ~/.pycharmrc

关于python - 如何在 PyCharm 终端中激活 virtualenv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288569/

相关文章:

Perl 禁用 shell 访问

python - Qt : Dead lock detected - Sender is QPushButton(), 接收器是 PyQtSlotProxy() - 用于 QPushButton 列表中的特定索引

django - 在反向关系上访问 prefetch_related 的字段

python - 需要Django 'local variable '表单中的帮助(“分配前已引用”)

shell - unix中 "$a"和$a有什么区别

linux - Echo 无法打印 "*.*"字符串

python - Django 1.10 翻译

Python/Pandas - 将 pandas DataFrame 划分为 10 个不相交、大小相等的子集

python - 将 _metadata 从 DataFrame 传播到 Series

python - 无效的 block 标记 : 'endblock' . 您是否忘记注册或加载此标记?