Python PyCharm在virtualenv中找不到包

Python PyCharm在virtualenv中找不到包,python,virtualenv,pycharm,Python,Virtualenv,Pycharm,我有最新的PyCharm-CE,正在与virtualenv一起使用。我已经将解释器定义为virtualenv中的解释器。PyCharm中的项目解释器窗口列出了我安装的所有软件包。我通过运行pipfreeze>requirements.txt并手动运行包来确认这一点 我的问题是PyCharm在其编辑器窗口中找不到某些包含项,例如Flask Login: 在flask.ext.login的导入当前用户、登录用户、注销用户、需要登录中,包括当前用户、登录用户、注销用户、需要登录都标记为未解析的引用 我

我有最新的PyCharm-CE,正在与
virtualenv
一起使用。我已经将解释器定义为
virtualenv
中的解释器。PyCharm中的项目解释器窗口列出了我安装的所有软件包。我通过运行
pipfreeze>requirements.txt
并手动运行包来确认这一点

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

在flask.ext.login的
导入当前用户、登录用户、注销用户、需要登录
中,包括
当前用户、登录用户、注销用户、需要登录
都标记为未解析的引用


我遗漏了什么吗?

打开
首选项->项目->项目解释器
,你看到那里的模块了吗

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


如果没有,您可以单击解释器旁边的
并选择
更多…
,选择您的解释器,然后在底部(过滤器旁边),单击所选解释器的
显示路径,您可以在那里添加模块的路径。

问题可能在于为您的虚拟环境选择错误的“解释器路径”。到这里:

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解释器
->单击“显示解释器路径”按钮(在列表窗口底部)
现在您在这个位置(当然是被错误地发现的),您应该看到这个解释器正在使用的路径。如果我的理论是正确的,这些都指向全球系统的位置。要添加虚拟环境路径,应单击
+
按钮并添加虚拟环境中存在的相应路径。完成此操作后,最好选择全局系统路径,然后单击
-
将其删除。单击应用,然后转到
文件->使缓存无效/重新启动
以重新加载PyCharm


这将使您的解释器指向已安装到virtualenv中的库的正确位置,并且您不应再收到导入错误。请注意,即使使用此修复程序,您也不会在
项目解释器下看到您的库,但它们应该被加载。

在最新版本的PyCharm中(我的例子是2016.1.4):

  • 背景
  • 项目:项目名称
    • 项目口译员
    • 在右边会有一个下拉列表,您可以选择解释器。应该有venv选项
请参见下图以获得更好的解释(如他们所说,一张图片值千字)


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


转到/venv/bin/并检查所有激活脚本。您的虚拟路径可能错误。

我无法将现有虚拟环境分配给我的项目,但在转到

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


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

对我来说,最简单的解决方案是在根目录中打开项目(我的项目有一个服务器和客户机目录,因此根目录包含这两个目录)。当您在根目录中打开项目时,它能够找到依赖项,而不会干扰pycharm设置,因为它按惯例使用这些设置。

我注意到,每次打开不同的项目时,它仍然具有我以前处理的项目的venv

我所做的是:


ctrl-alt-s(进入首选项),然后是项目解释器/设置(齿轮图标),全部显示,然后删除所有不是当前项目的venv环境(使用-符号)。重新开始,你就可以开始了。

我最近在这个话题上花了两分钱。 纳撒尼尔·福特的答案是好的,除了这一部分:

               -> Select your virtualenv interpreter
我不清楚

我试了好几次

~/.virtualenvs/python-audition-2.9/bin/python
然而,它只适用于

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

注意后一个路径中的
../local/..
?这对我来说真的很重要。别忘了
文件->使缓存无效/重新启动
来重新加载PyCharm。

我曾经遇到过这个问题,只是jetbrains太差劲了。尝试
文件->使缓存无效
并重新启动PyCharm。您可能需要等待几分钟才能重建缓存在我的情况下,我不小心在我以前的旧版本中添加了一个新版本,而不是仅仅选择旧版本,从而弄乱了我的版本。解决方案是从我的Pycharm项目中删除venv目录(这也删除了我的本地venv)。在那之后,我设置了一个新的venv,这次正确地将它添加到Pycharm中。尝试了您的建议,但对我无效。我甚至用pypy创建了一个新的virtualenv,但仍然找不到相同的include。抱歉,我不知道如何解决您的问题。事实上,这是正确的过程(尽管PyCharm在这些方面如此原始有些可笑)。文件->使缓存无效/重新启动以重新加载PyCharm。我没有做什么。这个答案不清楚;我如何处理venv选项?你是在试图默契地引用其他评论吗?@rrlamichhane问题是明确地说他们使用