【问题标题】:PyCharm doesn't use selected virtualenvPyCharm 不使用选定的 virtualenv
【发布时间】:2016-04-06 05:27:54
【问题描述】:

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

但如果我在 PyCharm 中将这个 virtualenv 添加为 Project Interpreter, 它显示了完全不同的包:

这些包与我系统的基本解释器/opt/local/bin/python 中的相同。这让我抓狂,我真的需要使用来自virtualenv 的软件包,不是来自我的系统。

这是 PyCharm 社区版 5.0.3。

我之前使用旧版本的 PyCharm 没有这个问题。 我尝试创建一个全新的virtualenv, 无论是在命令行上还是使用 PyCharm, 并使缓存无效并重新启动,但似乎没有任何效果。 PyCharm 总是显示相同的包列表, 和virtualenv 的包。 即使我在 PyCharm 中创建了一个空的virtualenv, 它开始时不是空的,而是填充了相同的包列表。

当我在命令行上运行时,我的项目运行良好, 比如运行 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

显然它不是使用来自virtualenvpip,而是来自系统。 我需要使用virtualenv中的那个。

【问题讨论】:

  • 您是否记录了有关 jetbrains youtrack 的问题?
  • 您是否从虚拟环境中排除了全局包?
  • @jonrsharpe 我不知道。我用virtualenv --distribute virtualenv 创建我的环境。但我开始认为这个问题可能与我安装 Python 的方式有关(macports,但不记得细节)。例如,在虚拟环境之外,pippython 不同步。也就是说,在python shell 中,我无法导入pip freeze 显示的包。也许如果我先解决这个问题(我应该这样做),也许 PyCharm 也会神奇地开始工作。
  • @jonrsharpe 我清理了我的系统。 pythonpipvirtualenv 都已正确同步,现在使用相同的 Python 安装。这对 PyCharm 没有帮助,所以我的怀疑是错误的。我想那是一个错误。我过去在 PyCharm 上没有遇到过这样的问题。
  • 好点@Sayse,它似乎已经记录了:youtrack.jetbrains.com/issue/PY-18074

标签: django macos virtualenv pycharm


【解决方案1】:

这在 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 中对我来说可以正常工作。 之前使用 PyCharm 5.0.3 注册的一些 virtualenv 看起来无效,但没关系。我实际上删除了所有注册的解释器,只重新添加了我需要的virtualenv

这个旧版本的奇怪之处在于,有时 PyCharm 会显示不正确的 Python 版本(2.7 而不是 3.5),但它会根据 virtualenv 显示正确的模块列表,并且编辑器不会显示构建错误,所以 Python 版本混淆似乎不会造成问题(只是有点吓人)。

【讨论】:

  • 感谢跟踪链接。我报告了同样的问题,python 安装了 macports。实际上,我的解决方法是安装并选择python2.7。 2.7 按预期工作,所以这显然是 3.x 问题(尝试使用 3.3 和 3.5)
猜你喜欢
  • 1970-01-01
  • 2020-04-17
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-05
相关资源
最近更新 更多