首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >例外: vpython的非笔记本版本需要Python3.5或更高版本。

例外: vpython的非笔记本版本需要Python3.5或更高版本。
EN

Stack Overflow用户
提问于 2021-10-08 18:15:15
回答 1查看 584关注 0票数 1

我刚买了一台新电脑,所以我决定安装python。我安装了最后一个版本,即3.10。之后,我决定安装我通常使用的所有库。我的一个主要项目需要使用一个名为"vpython“的库。很难重新安装所有的东西,但我设法做到了。当我尝试导入库时,出现了以下错误:

代码语言:javascript
复制
Exception: The non-notebook version of vpython requires Python 3.5 or later.
vpython does work on Python 2.7 and 3.4 in the Jupyter notebook environment.

在错误中,它明显地表示它需要Python3.5或更高版本的,我认为它还包括我当前的3.10版本。我需要UnintasallPython3.10并安装一个旧版本吗?有什么办法可以不重新安装就解决这个问题?

另外,我不使用jupyter笔记本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 18:23:49

这是由包的创建者/服务器检查错误版本造成的。

代码语言:javascript
复制
import platform
__p = platform.python_version()

# Delete platform now that we are done with it
del platform

__ispython3 = (__p[0] == '3')
__require_notebook = (not __ispython3) or (__p[2] < '5') # Python 2.7 or 3.4 require Jupyter notebook

if __require_notebook and (not _isnotebook):
        s = "The non-notebook version of vpython requires Python 3.5 or later."
        s += "\nvpython does work on Python 2.7 and 3.4 in the Jupyter notebook environment."
        raise Exception(s)

在本例中,platform.python_version()"3.10",因此__p[2] < '5'将是True,并且无法通过版本检查。

相关代码可以找到这里

如果还没有bug报告,这可能会得到一个错误报告。

理想情况下,检查应该如下所示:

代码语言:javascript
复制
import sys
__p = sys.version_info

# Delete sys now that we are done with it
del sys

__ispython3 = (__p.major == 3)
__require_notebook = (not __ispython3) or (__p.minor < 5) # Python 2.7 or 3.4 require Jupyter notebook

if __require_notebook and (not _isnotebook):
        s = "The non-notebook version of vpython requires Python 3.5 or later."
        s += "\nvpython does work on Python 2.7 and 3.4 in the Jupyter notebook environment."
        raise Exception(s)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69500147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档