我有最新的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
都标记为未解析的引用。
我错过了什么吗?
答案 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):
请参阅下面的图片以获得更好的解释(就像他们说的那样,1张图片价值数千字)
答案 2 :(得分:2)
答案 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路径可能不正确。