我有最新的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
中都标记为未解析的引用.
我错过了什么吗?
问题可能在于PyCharm为你的虚拟环境挑选错误的"解释器路径".到这里:
PyCharm (menu) -> Preferences (Menu option) -> Project:(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)
现在你正处于这个(公认的错位)位置,你应该看到这个翻译所使用的路径.如果我的理论是正确的,那么它们指向全球系统位置.要添加虚拟环境路径,应单击该+
按钮并添加虚拟环境中存在的相应路径.完成此操作后,最好选择全局系统路径并单击-
以删除它们.单击"应用",然后转到File -> Invalidate caches / Restart
重新加载PyCharm.
这应该让您的解释器指向您已安装到virtualenv中的库的正确位置,并且您不应再收到导入错误.请注意,即使使用此修复程序,您也不会在其下看到您的库Project Interpreter
,但应该加载它们.
在PyCharm的最新版本(在我的情况下为2016.1.4):
设置
项目:项目名称
项目口译员
在右侧会有一个下拉列表,您可以选择口译员.应该有venv选项.
请参阅下面的图片以获得更好的解释(就像他们说的,1张图片价值数千字)