PyCharm似乎忽略了配置的virtualenv,而是使用基本解释器。
在我的/Users/janos/dev/git/github/bashoneliners项目中,我有一个virtualenv子目录,严格地将项目的依赖项安装在其中:
$ . virtualenv/bin/activate
(virtualenv)janos at kronos in ~/dev/git/github/bashoneliners on master
$ pip -V
pip 1.5.6 from /Users/janos/dev/git/github/bashoneliners/virtualenv/lib/python3.4/site-packages (python 3.4)
(virtualenv)janos at kronos in ~/dev/git/github/bashoneliners on master
$ pip freeze
Django==1.9
Markdown==2.6.5
PyJWT==1.4.0
defusedxml==0.4.1
oauthlib==1.0.3
pep8==1.6.2
pyflakes==1.0.0
python-social-auth==0.2.13
python3-openid==3.0.9
requests==2.9.1
requests-oauthlib==0.6.0
six==1.10.0
tweepy==3.5.0但是,如果我将这个virtualenv作为项目解释器添加到PyCharm中,它将显示完全不同的包:

这些包与我系统的基本解释器/opt/local/bin/python中的包相同。这让我抓狂,我真的需要使用来自virtualenv的包,而不是我的系统。
这与PyCharm社区版5.0.3有关。
我以前在PyCharm的旧版本中没有这个问题。我尝试在命令行和使用virtualenv创建一个全新的PyCharm,并使缓存和重新启动无效,但似乎没有什么效果。PyCharm总是显示相同的包列表,以及virtualenv的包。即使我在PyCharm中创建了一个空的PyCharm,它也不会开始为空,而是填充相同的包列表。
当我在命令行上运行一些东西,比如运行Django管理命令、单元测试和所有东西时,我的项目都能很好地工作。我只在PyCharm上有问题。
如果我试图使用PyCharm安装软件包(例如Django ),就会得到以下错误:

当然,/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages上的权限被拒绝了,这就是系统解释器。它应该尝试在那里安装软件包,但要在/Users/janos/dev/git/github/bashoneliners/virtualenv中安装。
显然,它使用的不是来自pip的virtualenv,而是来自系统的。我需要使用virtualenv中的一个。
发布于 2016-01-06 17:05:20
这在JetBrains的问题跟踪系统中被记录为一个bug,所以希望它很快就能被解决。
https://youtrack.jetbrains.com/issue/PY-18074
一个可能的解决办法是回到以前版本的PyCharm:
https://confluence.jetbrains.com/display/PYH/Previous+PyCharm+Releases
截至2016年1月6日,virtualenv在PyCharm 4.5.4中运行良好。以前使用virtualenv 5.0.3注册的一些PyCharm似乎无效,但这很好。实际上,我删除了所有已注册的口译员,只重新添加了我需要的virtualenv。
这个旧版本的一个奇怪之处是,有时PyCharm会显示错误的Python (2.7而不是3.5),但是它会按照virtualenv显示正确的模块列表,而编辑器也不会显示构建错误,因此Python混淆似乎不会导致问题(只是有点可怕)。
https://stackoverflow.com/questions/34560013
复制相似问题