如何在Blogger中使用PyScript运行Python代码?
Blogger中使用PyScript运行Python代码的问题解决方法
问题概述
在Blogger中使用PyScript官方alpha版本资源时,页面会强制下载pydiode并持续加载,无法正常显示Python脚本;尝试打印字符串时直接显示代码而非执行结果;同时Sympy库暂无法兼容,需要实现基于Numpy和Matplotlib的物理测量绘图功能。
解决方案
1. 更换为PyScript稳定版资源
旧的alpha版本存在兼容性问题,替换为最新稳定版资源可避免pydiode强制下载和页面加载异常:
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" /> <script defer src="https://pyscript.net/latest/pyscript.js"></script>
2. 正确包裹Python代码
必须将Python代码放在<py-script>标签内,否则会直接显示代码文本而非执行结果。示例:
<py-script> # 测试打印 print("Now you can") # 物理测量绘图示例 import numpy as np import matplotlib.pyplot as plt # 模拟物理测量数据 x = np.linspace(0, 20, 200) # 带噪声的线性测量数据,模拟实验误差 y = 0.5 * x + 2 + np.random.normal(0, 0.8, 200) # 创建绘图 fig, ax = plt.subplots(figsize=(8, 5)) ax.scatter(x, y, s=15, label='实验测量数据') ax.plot(x, 0.5*x + 2, 'r-', linewidth=2, label='拟合曲线') ax.set_xlabel('自变量') ax.set_ylabel('测量值') ax.set_title('物理测量数据拟合示例') ax.legend() plt.show() </py-script>
3. 显式声明依赖库
通过<py-config>标签提前声明需要加载的库,确保PyScript正确加载Numpy和Matplotlib,避免加载异常:
<py-config> packages = [ "numpy", "matplotlib" ] </py-config>
4. Blogger编辑器设置
- 必须切换到Blogger的HTML编辑器模式粘贴代码,避免可视化编辑器自动转义HTML标签;
- 检查Blogger模板中是否存在冲突的第三方脚本(如广告插件、加载器),暂时禁用后测试PyScript是否正常运行。
5. Sympy兼容处理
目前PyScript对Sympy的支持存在限制,可尝试指定具体版本加载:
<py-config> packages = [ "numpy", "matplotlib", "sympy==1.12" ] </py-config>
若仍无法兼容,可等待PyScript后续版本更新,或通过Pyodide单独加载Sympy模块。
内容的提问来源于stack exchange,提问作者Becker Hija
相关产品推荐
相关产品推荐

