Python 为什么这个脚本在空闲时运行,而不是在Jupyter笔记本中运行?

Python 为什么这个脚本在空闲时运行,而不是在Jupyter笔记本中运行?,python,jupyter-notebook,Python,Jupyter Notebook,尝试创建一个表来比较计算数字平方根的不同方法。使用1到9之间的整数测试脚本 附加的脚本以前在空闲状态下运行正常,但现在在导入tablate时又出现了一个错误。该脚本从未在Jupyter笔记本中成功运行 当我在Jupyter笔记本中运行代码时,唯一的变化是在[]中更改为在[]中 一般来说,我对Jupyter Notebook/Idle/Python都是新手。我理解[*]中的意思是内核正在运行,但我不理解为什么计算可以在空闲状态下正常运行,而不是在Jupyter笔记本中 这两个程序都安装在Anaco

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

附加的脚本以前在空闲状态下运行正常,但现在在导入tablate时又出现了一个错误。该脚本从未在Jupyter笔记本中成功运行

当我在Jupyter笔记本中运行代码时,唯一的变化是在[]中更改为在[]中

一般来说,我对Jupyter Notebook/Idle/Python都是新手。我理解[*]中的意思是内核正在运行,但我不理解为什么计算可以在空闲状态下正常运行,而不是在Jupyter笔记本中

这两个程序都安装在Anaconda旁边。Python的版本是3.7.3。使用的所有模块都安装在anaconda中。操作系统是Windows10

'''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()
函数比较两种求平方根的方法 有价值的 ''这在空闲时工作,但不能在Jupyter笔记本中运行。我不明白为什么。 从制表导入制表为tb 将numpy作为np导入 输入数学 定义mysqrt(a): #x=浮点(输入(“+str(a)+”的合理估计值是多少?\n”) #epsilon=float(输入('您的精度公差是多少?\n')) x=a/2 ε=0.05 尽管如此: y=(x+a/x)/2 如果abs(y-x) 当程序以前在空闲状态下运行时,它将输出一个包含四列和10行的格式化表,包括标题

现在在空闲状态下运行脚本时,我收到错误:

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'
回溯(最近一次呼叫最后一次):
文件“C:\Users\aIDAN\Documents\Python Scripts\Think Python\test2.py”,第1行,在
从制表导入制表为tb
ModuleNotFoundError:没有名为“制表”的模块
在Jupyter笔记本中,我没有收到任何输出或反馈,只有In[]变为In[*])


谢谢你的时间

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

python -m pip install tabulate

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

当前的问题是,表格模块在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]$ 

谢谢你的回复。不幸的是,我不能使用pip3命令。我打开Anaconda提示符并键入
pip3安装表格
,但收到响应:
'pip3'未被识别为内部或外部命令、可操作程序或批处理文件。
我意识到我在原始问题中没有指定,但我使用的是Windows 10。如果
pip3
不可用,使用
python-mpip安装tablate
现在就可以排序了。谢谢大家!!