为什么此脚本在空闲状态下运行,而不在Jupyter Notebook中运行?

时间:2019-09-12 10:28:58

标签: python jupyter-notebook

尝试创建表格以比较计算数字平方根的不同方法。使用1到9之间的整数测试脚本。

附件中的脚本以前在空闲状态下可以正常运行,但是现在导入列表时出现了另一个错误。该脚本从未在Jupyter Notebook中成功运行。

在Jupyter Notebook中运行代码时,唯一的变化是In []更改为In [*]。

一般来说,我是Jupyter Notebook / Idle / Python的新手。我了解[*]表示内核正在运行,但我不明白为什么在Idle(而不是Jupyter Notebook)中可以正常运行计算。

两个程序都与Anaconda一起安装。 Python是版本3.7.3。使用的所有模块均安装在anaconda中。操作系统是Windows 10。

'''Function to compare two methods of finding the square root 
of a value

'''This works in Idle but can not run in Jupyter Notebook. I don't understand why.

from tabulate import tabulate as tb
import numpy as np
import math

def mysqrt(a):

    #x = float(input('What is a reasonable estimate for ' + str(a) + '?\n'))
    #epsilon = float(input('What is your accuracy tolerance?\n'))

    x = a/2
    epsilon = 0.05

    while True:
        y = (x + a/x) / 2
        if abs(y-x) < epsilon:
            return y
            break
        x = y

def test_square_root():

    headers = ["a","mysqrt(a)", "math.sqrt(a)","diff"]
    table = np.zeros((9,4))

    for i in range(1,9):

        my_a = mysqrt(i)
        math_a = math.sqrt(i)
        diff = abs(my_a - math_a)

        print(np.shape(table[0,:]))
        table[i,:] = [i,my_a,math_a,diff]

    print(tb(table,headers))

test_square_root()

程序先前在空闲状态下运行时,将输出带有四列和10行(包括标题)的格式化表。

当我现在在Idle中运行脚本时,收到错误消息:

Traceback (most recent call last):
  File "C:\Users\aIDAN\Documents\Python Scripts\Think Python\test2.py", line 1, in <module>
    from tabulate import tabulate as tb
ModuleNotFoundError: No module named 'tabulate'

在Jupyter Notebook中,我没有收到任何输出或反馈,只有In []更改为In [*])

感谢您的时间!

2 个答案:

答案 0 :(得分:0)

您缺少依赖项。
要解决此问题并使用命令行安装它,请激活您的Conda环境并输入:

python -m pip install tabulate

完成后,尝试再次运行代码。

答案 1 :(得分:0)

当前问题是制表模块在您的python库中不可用。 它是第三方包,不包含python的标准发行版

使用

  

pip3安装列表

安装表格模块。

在Linux中,下面显示了在用户上下文中安装制表模块的命令。

[kuvivek@vivekcentos ~]$ python3.7 -m pip install tabulate --user
Collecting tabulate
  Using cached https://files.pythonhosted.org/packages/c2/fd/202954b3f0eb896c53b7b6f07390851b1fd2ca84aa95880d7ae4f434c4ac/tabulate-0.8.3.tar.gz
Installing collected packages: tabulate
  Running setup.py install for tabulate ... done
Successfully installed tabulate-0.8.3
[kuvivek@vivekcentos polls]$