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
的包.即使我创建一个空的
virtualenv
在 PyCharm 中,它不是空的,而是充满了相同的包列表。
当我在命令行上运行时,我的项目运行良好,
比如运行 Django 管理命令,单元测试,一切。
我只有 PyCharm 有问题。
如果我尝试安装软件包,例如 Django,
使用 PyCharm,
我收到此错误:
当然,
/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
上的权限被拒绝,那是系统解释器。它应该尝试在那里安装软件包,
但在
/Users/janos/dev/git/github/bashoneliners/virtualenv
.显然它没有使用
pip
来自 virtualenv
,但来自系统。我需要使用
virtualenv
中的那个.
最佳答案
这在 JetBrains 的问题跟踪系统中被记录为错误,
所以希望它会很快得到解决。
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
以前使用 PyCharm 5.0.3 注册似乎无效,但没关系。我实际上删除了所有注册的口译员,只重新添加了 virtualenv
我需要。
这个旧版本的奇怪之处在于,有时 PyCharm 会显示不正确的 Python 版本(2.7 而不是 3.5),但它会根据 virtualenv
显示正确的模块列表。 ,并且编辑器没有显示构建错误,因此 Python 版本混淆似乎不会导致问题(只是有点吓人)。
关于django - PyCharm 不使用选定的 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34560013/