- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
近日,用于科学计算的Python发行版厂商Anaconda发布了PyScript。看完简介Pyscript似乎是跨时代的突破,然而深入研究后发现实现Python前端化编程还任重道远。总体来说,Pyscript属于一次微创新,亮点很多,但基于旧有仍有许多难题需要攻克。Anaconda作为一个大厂,喊出如此振奋人心的slogan,未来的发展仍是十分值得期待。
Run Python in Your HTML,Pyscript官网给开发者们描绘出了无比诱人的前景。
这周Pyscript横空出世,几乎席卷了所有前端和Python社区的头条。寥寥几行代码,展现的是一个跨界的突破。
Anaconda 官方对Pyscript提出了很高的期待,Welcome to the world PyScript 文章中对Pyscript做了定义。
Pyscript是一个让用户使用其提供的自定义HTML标签,就可以轻松地在浏览器中运行Python脚本和创建富媒体应用的框架。
[ PyScript is a framework that allows users to run Python and create rich applications in the browser by simply using special HTML tags provided by the framework itself. ]
核心功能包括:
[ Core features include: ]
官方提供的hello_world:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>PyScript Hello World</title>
<link rel="icon" type="image/png" href="favicon.png" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body>
Hello world! <br>
This is the current date and time, as computed by Python:
<py-script>
from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
</py-script>
</body>
</html>
运行结果:
写一个生成正态分布:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>PyScript Hello World</title>
<link rel="icon" type="image/png" href="favicon.png" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
</py-env>
</head>
<body>
<py-script>
import numpy as np
result = np.random.normal(0.5, 1, 1000)
for i in result:
print(i)
print(np.mean(result), " ", np.var(result))
</py-script>
</body>
</html>
控制台能看到python的执行日志
对于基础的python操作和类库引入都是可以正常运行。
从官方的介绍中,也可以看到Pyscript主要是依赖 Pyodide 项目运行。
这一点 github源码 中也有体现:
loadRuntimes() {
console.log('Initializing runtimes...');
for (const runtime of this.values.runtimes) {
const script = document.createElement('script'); // create a script DOM node
const runtimeSpec = new PyodideRuntime(runtime.src);
script.src = runtime.src; // set its src to the provided URL
script.addEventListener('load', () => {
void runtimeSpec.initialize();
});
document.head.appendChild(script);
}
}
运行前会加载 Pyodide 模块,程序耗时也主要来自这块(严重依赖 pyodide 模块加载速度,官方CDN不太稳定,必要时需要切换CDN)
Pyscript相当于封装了一层Pyodide实现,上面Pyscript的数据处理也可以通过以下代码实现
pyodide.runPythonAsync(`
import micropip
await micropip.install('snowballstemmer')
import numpy as np
result = np.random.normal(0.5, 1, 1000)
for i in result:
print(i)
print(np.mean(result), " ", np.var(result))
`);
Pyscript依赖Pyodide的构建库,可用范围还只能满足基本要求,如有定制开发需要私有化部署 Pyodide 版本进行定制式开发。
PyScript 开创式地提供了前端使用Python处理复杂数据的模式,但加载方式和渲染模式还是存在较大改良空间。期待 PyScript 生态圈的后续发展。
我正在使用以下脚本以静默模式在机器上安装(重新安装)最新的 anaconda。它已经运行了很长时间,成功安装了anaconda。然而,它最近坏了,现在不是安装所有的 anaconda 包,而是最终安装
我最近运行了 conda update --all,现在每次我打开一个新终端时,我都会在顶部看到这些错误行: ERROR: This cross-compiler package contains n
如果你这样做 conda info --envs您将获得在 anaconda 中创建的环境列表 有没有办法做到这一点,但还要获得这些环境的创建日期? 最佳答案 envs=`conda env list
我的电脑:Mac Book Pro、OS X Yosemite 我正在尝试使用以下命令卸载 anaconda。 rm -rf ~/anaconda 但是,我收到了很多行“权限被拒绝”的信息,看起来像这
我尝试安装 GraphLab Create,因此我创建了一个新的 Anaconda 环境,但它显示缺少依赖项。我不知道如何删除它。 终端: C:\Users\PC>conda create -n gl
我最近通过使用以下命令中断了Anaconda Navigator的安装: conda update --all -y 显然,这并不少见,这是重新安装Anaconda并从头开始创建新环境的好借口。 但是
我想更新我当前使用的所有包。进入 anaconda 提示符并输入 conda update --all 返回消息“所有请求的包都已安装”。事实并非如此,因为我的包裹中几乎有一半已经过时了。我知道 an
我使用的是 64 位 Windows 10 机器。我试图按照 this DataCamp 中提到的步骤安装 Anaconda页。我期待一个 .exe 文件,相反,我得到了一个 .pkg 文件。我不知道
我收到此错误: C:\Users>conda install pytorch torchvision -c soumith Fetching package metadata ............
我需要从 Windows 10 笔记本电脑上卸载 Anaconda 中的 RStudio,但无法使其正常工作。以下是原因以及我迄今为止所做的尝试。 尝试从 Anaconda 启动 RStudio De
我通过 Anaconda 使用 Rstudio 一段时间了,一切都很顺利。但是,在没有任何先前问题的情况下,当我尝试运行 Rstudio 时,会弹出一个导航窗口,询问保存下载文件的目录 我只是尝试选择
与这个问题部分相关 [现在从 SO 中删除] 但现在只专注于在 Anaconda 中安装 Anaconda 目录中不存在的包 here .一个例子可以是 COIN-OR CLP 包 here在 R 中
只是想知道更新 Anaconda 和 Conda 安装和虚拟环境的正确方法是什么。这是我一步一步的困惑: 当我运行命令时 conda update anaconda ,它更新/降级了很多包。 然后我跑
我想我需要在他们最近的许可证更改后获得 Anaconda 的商业许可证。我很好奇,访问 conda-forge 存储库是否需要商业许可证,因为它是一个社区存储库?还是仅适用于主要的 anaconda
显然,Anaconda 有一个不同的金字塔包,它是针对 Web 框架的。 https://anaconda.org/anaconda/pyramid arima Pyramid 的用户指南建议使用 p
我关注了以下instructions安装 Jupyter 笔记本(单用户模式)。 但是,我实际上需要安装多用户(Jupyter-hub)应用程序。 如何卸载此应用程序? 仅供引用 - 使用 Cento
我最近尝试为我的 Windows 10 笔记本电脑安装 Anaconda。不幸的是,这似乎不起作用,因为我的计算机上似乎没有实际的 Anaconda 应用程序,而只是桌面上的文件夹和文件的集合。我认为
我的机器上安装了 Anaconda 3.5 版,但我决定卸载它(通过控制面板)并下载 2.7 版。我正在使用 Windows 7。 但是,在安装快要结束时我收到一条错误消息,我收到一个弹出窗口说:无法
我最近重置了我的笔记本电脑并在其中安装了 anaconda,我尝试打开 jupyter 实验室但它给了我错误 Error executing Jupyter command 'lab': [WinEr
我使用 Anaconda Navigator 从不同环境启动 Jupyter。 Jupyter 笔记本的默认目录(在 Jupyter 启动后显示)是我的主目录(在 Windows 7 中)。 是否可以
我是一名优秀的程序员,十分优秀!