从 Jupyter Notebook 中的文件“main.py”传输代码
Posted
技术标签:
【中文标题】从 Jupyter Notebook 中的文件“main.py”传输代码【英文标题】:Transferring code from a file "main.py " in Jupyter Notebook 【发布时间】:2022-01-21 06:15:23 【问题描述】:我正在尝试在 Jupiter notebook 中运行代码,但其中的数字不运行,请帮助我使用“matplotlib”库在 pandas DataFrame 中显示 BTC 图
import websockets
import asyncio
import json
import time
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
fig.show()
xdata = []
ydata = []
def update_graph():
ax.plot(xdata, ydata, color='g')
ax.legend([f"Last price: ydata[-1]$"])
fig.canvas.draw()
plt.pause(0.1)
async def main():
url = "wss://stream.binance.com:9443/stream?streams=btcusdt@miniTicker"
async with websockets.connect(url) as client:
while True:
data = json.loads(await client.recv())['data']
event_time = time.localtime(data['E'] // 1000)
event_time = f"event_time.tm_hour:event_time.tm_min:
event_time.tm_sec"
print(event_time, data['c'])
xdata.append(event_time)
ydata.append(int(float(data['c'])))
update_graph()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
【问题讨论】:
有错误吗?如果是这样,请将其完整粘贴到问题中。 下午好!谢谢,在附件中注明如下 【参考方案1】:只需删除此声明:if __name__ == '__main__':
【讨论】:
【参考方案2】:Jupyter 运行代码的方式与普通 Python 不同。
当您使用python myfile.py
运行代码时,它会将名为__name__
的变量设置为main
。但是当 Jupyter 运行你的代码时,它不会设置变量。
因此,当你说 if __name__ == '__main__'
时,它永远不会在 Jupyter 中执行,因为 __name__
永远不会是 main
。
所以,解决方案是删除if
语句,只保留它下面的行。
改变
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
到
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
【讨论】:
下午好!非常感谢,我删除了这个。在 jupiter notebook 中运行 figure fig = plt.figure() 时出现问题。 - /opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:3: UserWarning: Matplotlib 当前正在使用 module://ipykernel.pylab.backend_inline,这是一个非 GUI 后端,因此无法显示数字。这与 ipykernel 包是分开的,所以我们可以避免导入,直到【参考方案3】:下午好! 我在启动时发布错误:
/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:3: UserWarning: Matplotlib 当前正在使用 module://ipykernel.pylab.backend_inline,这是一个非 GUI 后端,所以不能显示图。 这与 ipykernel 包是分开的,所以我们可以避免导入,直到Click to view the error
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于从 Jupyter Notebook 中的文件“main.py”传输代码的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Jupyter Notebook 下载所有文件和文件夹层次结构?
运行jupyter notebook出现这种情况的原因如何解决