错误"属性错误:' NoneType'对象没有属性' kernel'当使用简单的vpython时

时间:2016-04-23 20:40:14

标签: python vpython

我刚开始尝试使用vpython,希望最终用它来模拟椭圆或抛物线轨道。我下载了模块并尝试生成一个简单的球体,当我这样做时,我得到了上述错误。据我所知,我已正确定义/调用了该函数。这是我的代码

from vpython import *
Sun = sphere(pos=(0,0,0), radius =0.5))

3 个答案:

答案 0 :(得分:0)

vpython 旨在在IPython笔记本内部运行(这是一个交互式Python环境,带有通过浏览器使用的图形界面 - 将其视为更强大的图形化python控制台)。

当您在普通的Python REPL中使用vpython时,public class RestDataSource implements WyatRepository { public final static String ENDPOINT = "http://xxxxxxxx.com/"; private final ApiService apiService; public RestDataSource() { OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); client.interceptors().add(loggingInterceptor); client.interceptors().add(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request original =chain.request(); Request request = original.newBuilder().header("Authorization",new SharedPreferencesUtil(getBaseContext()).getToken) .method(original.method(),original.body()) .build(); return null; } }); Retrofit retrofit = new Retrofit.Builder() .baseUrl(ENDPOINT) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .client(client) .build(); apiService = retrofit.create(ApiService.class); } @Override public Observable<Album> getAlbum(int id) { return apiService.getAlbum(id); } @Override public Observable<List<Event>> getEvents() { return apiService.getEvents(); } @Override public Observable<Event> getEvent(int id) { return apiService.getEvent(id); } 函数会返回get_ipython(),从而导致错误。

获取IPython的最简单方法是按照http://jupyter.org/所述安装Jupyter。然后使用None启动它,这将打开一个浏览器页面,您可以在其中编写代码并且它应该可以正常工作。

答案 1 :(得分:0)

有许多方法可以安装vpython。取决于您的操作系统。在Mac和Windows系统上以图形方式安装vpython很简单(以及如何运行已安装的可执行文件)。我将解释如何在Ubuntu 16上安装vpython。我假设你已经安装了python。 1.)vpython依赖于PIP(用于安装.py软件包的软件包管理器)。所以首先使用命令 sudo apt install python-pip 来安装带有admin权限的python-pip包。 2.)从命令行安装pip后,使用pip通过以下命令安装vpython: sudo pip install vpython (也使用admin privs')。确保使用以下命令将pip升级到最新版本: sudo pip install --upgrade pip 3.)接下来的步骤需要解决任何一个错误(' NoneType'对象已经尝试从vpython import * 执行命令时,python或IDLE抛出没有属性'kernel')和/或(没有名为visual 的模块) strong>来自visual import * 使用python或IDLE。抛出错误是因为vpython不是普通的.py包(包含典型的类或函数语句),但是vpython是一个安装必需包的脚本,称为jupyter-notebook (带有“y”和“ - ”)。 jupyter-notebook包实际上是解释你的vpython创建的.py文件。 4.)在终端中键入命令 jupyter-notebook 。此脚本将使终端提供本地可访问的地址,您将输入到支持Javascript的Web浏览器中,并且还依赖于WebGL浏览器插件支持。 5.)接下来按照vpython.org提供的说明,您需要选择“新建”下拉列表(位于jupyter浏览器页面右上角附近)并单击笔记本下的“Vpython”选项。 6.)在给定的提示符下键入python命令,就像使用python interpreter或IDLE一样。

答案 2 :(得分:-2)

模块的名称似乎是“视觉”,而不是“vpython”。

试试这个:

from visual import *
Sun = sphere(pos=(0,0,0), radius=0.5))

http://www.vpython.org/contents/docs_vp5/visual/VPython_Intro.pdf