PyCharm在virtualenv中找不到包

时间:2015-12-29 22:45:49

标签: python virtualenv pycharm

我有最新的PyCharm CE并且正在使用virtualenv。我已将解释器定义为virtualenv中的解释器。 PyCharm中的Project Interpreter窗口列出了我安装的所有软件包。我通过运行pip freeze > requirements.txt并手动运行包来确认这一点。

我的问题是PyCharm在其编辑器窗口中找不到某些包含,例如Flask-Login

from flask.ext.login import current_user, login_user, logout_user, login_required中,包含current_user, login_user, logout_user, login_required都标记为未解析的引用。

我错过了什么吗?

9 个答案:

答案 0 :(得分:47)

问题可能出在PyCharm挑选错误的解释路径'为您的虚拟环境。去这里:

for ($i = 0; $i < 3; $i++) {
    $a[$a[$i]] = $i; // Add 'name' => $i
    unset($a[$i]); // Remove the original string
}

现在你已经进入了这个(确实被发现的位置),你应该看到这个翻译所使用的路径。如果我的理论是正确的,那么它们指向全球系统位置。要添加虚拟环境路径,应单击PyCharm (menu) -> Preferences (Menu option) -> Project: <name> (Dropdown) -> Project Interpreter (Menu option) -> 'Settings' button (Looks like a gear) -> More (Menu option) -> Select your virtualenv interpreter -> Click 'Show paths for interpreter' button (on bottom of list window) 按钮并添加虚拟环境中存在的相应路径。完成此操作后,最好选择全局系统路径,然后点击+将其删除。单击“应用”,然后转到-重新加载PyCharm。

这应该让您的口译员指向您已经安装到virtualenv中的库的正确位置,并且您不应再收到导入错误。请注意,即使使用此修补程序,您也不会在File -> Invalidate caches / Restart下看到您的库,但应该加载它们。

答案 1 :(得分:7)

在最新版本的PyCharm中(在我的情况下为2016.1.4):

  • 设置
  • 项目:项目名称
    • 项目口译员
    • 在右侧会有一个下拉列表,您可以在其中选择口译员。应该有venv选项。

请参阅下面的图片以获得更好的解释(就像他们说的那样,1张图片价值数千字)

Setting python interpreter

答案 2 :(得分:2)

即使在纳撒尼尔·福特(Nathaniel Ford)和迪恩德(Dendend)提出正确建议之后,我也面临着同样的问题(仍然找不到内容)。确保您选择的运行/调试配置为正确的python解释器:

enter image description here

答案 3 :(得分:0)

打开Preferences -> Project -> Project Interpreter,你看到那里的模块吗?

如果是,您的项目中可能有另一个文件与flask.ext.login具有相同的名称,这会阻止pycharm找到实际的模块。

如果不是,您可以点击口译员旁边的...并选择more...,选择口译员,在底部(过滤器旁边),点击Show paths for the selected interpreter,即可在那里添加模块的路径。

答案 4 :(得分:0)

我无法将现有的虚拟环境分配给我的项目,但是在进入

之后
  

文件->设置->项目解释器->全部显示->单击'+'

要创建新的虚拟环境,或者我们可以选择现有的虚拟环境,我可以分配和使用现有的虚拟环境。

答案 5 :(得分:0)

对我来说,最简单的解决方案是在根目录中打开项目(我的项目具有服务器和客户端目录,因此,根目录包含这两个目录)。当您在根目录中打开项目时,它可以找到依赖项而不会弄乱pycharm设置,因为它按照惯例使用它们。

答案 6 :(得分:0)

我注意到,每次我打开一个不同的项目时,它仍然具有我之前正在从事的项目的失败。

我要做的是:

ctrl-alt-s(进入首选项),然后是Project Interpreter / settings(齿轮图标),显示全部,然后删除不是您当前项目的所有venv环境(使用-符号)。重新启动,您应该会很好。

答案 7 :(得分:0)

我最近在这个话题上挣扎时,我为此付出了两分钱。 纳撒尼尔·福特(Nathaniel Ford)的答案是一个好答案,除了这一部分:

               -> Select your virtualenv interpreter

我不清楚。

我尝试过

~/.virtualenvs/python-audition-2.9/bin/python

它仅适用于

~/.virtualenvs/python-audition-2.9/local/bin/python

注意后一条路径中的 .../local/... 吗?就我而言,这真的很重要。并且不要忘了File -> Invalidate caches / Restart重新加载PyCharm。

答案 8 :(得分:-1)

转到/ venv / bin /并检查所有激活脚本。您的venv路径可能不正确。