python:pyodide

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:pyodide [2020/02/05 07:58] – [コンソール] ともやんpython:pyodide [2022/10/12 07:15] (現在) ともやん
行 2: 行 2:
   <script src="https://www.tomoyan.net/_media/javascript/jquery/terminal/jquery.terminal-2.7.1.min.js?cache=recache"></script>   <script src="https://www.tomoyan.net/_media/javascript/jquery/terminal/jquery.terminal-2.7.1.min.js?cache=recache"></script>
   <link href="https://www.tomoyan.net/_media/javascript/jquery/terminal/jquery.terminal-2.7.1.css?cache=recache" rel="stylesheet"/>   <link href="https://www.tomoyan.net/_media/javascript/jquery/terminal/jquery.terminal-2.7.1.css?cache=recache" rel="stylesheet"/>
-  <link href="/_media/python/pyodide/renderedhtml.css?cache=recache" rel="stylesheet"/>+  <!--<link href="/_media/python/pyodide/0.22.0a1/renderedhtml.css?cache=recache" rel="stylesheet"/>-->
   <style>   <style>
     #terminal {     #terminal {
行 15: 行 15:
   <script>   <script>
     self.startTime = new Date();     self.startTime = new Date();
-    self.languagePluginUrl = '/_media/python/pyodide/';+    /*self.languagePluginUrl = '/_media/python/pyodide/0.22.0a1/';*/
   </script>   </script>
-  <script src="/_media/python/pyodide/pyodide_dev.js?cache=-1"></script>+  <script src="/_media/python/pyodide/0.22.0a1/pyodide.js?cache=-1"></script>
   <script>   <script>
-    jQuery(function() {+    "use strict"; 
 +    function sleep(s) { 
 +      return new Promise((resolve) => setTimeout(resolve, s)); 
 +    } 
 + 
 +    async function main() { 
 +      let term; 
 +      globalThis.pyodide = await loadPyodide({ 
 +        stdin: () => { 
 +          let result = prompt(); 
 +          echo(result); 
 +          return result; 
 +        }, 
 +      }); 
 +      let namespace = pyodide.globals.get("dict")(); 
 +      pyodide.runPython( 
 +        ` 
 +          import sys 
 +          import pyodide 
 +          from pyodide.ffi import to_js 
 +          from pyodide.console import PyodideConsole, repr_shorten, BANNER 
 +          import __main__ 
 +          BANNER = "Welcome to the Pyodide terminal emulator 🐍 Version " + pyodide.__version__ + "\\n" + BANNER 
 +          pyconsole = PyodideConsole(__main__.__dict__) 
 +          import builtins 
 +          async def await_fut(fut): 
 +            res = await fut 
 +            if res is not None: 
 +              builtins._ = res 
 +            return to_js([res], depth=1) 
 +          def clear_console(): 
 +            pyconsole.buffer = [] 
 +        `, 
 +        { globals: namespace }, 
 +      ); 
 +      let repr_shorten = namespace.get("repr_shorten"); 
 +      let banner = namespace.get("BANNER"); 
 +      let await_fut = namespace.get("await_fut"); 
 +      let pyconsole = namespace.get("pyconsole"); 
 +      let clear_console = namespace.get("clear_console"); 
 +      const echo = (msg, ...opts) => 
 +      term.echo( 
 +        msg 
 +        .replaceAll("]]", "&rsqb;&rsqb;"
 +        .replaceAll("[[", "&lsqb;&lsqb;"), 
 +        ...opts, 
 +      ); 
 +      namespace.destroy(); 
 + 
 +      let ps1 = ">>> ", 
 +          ps2 = "... "; 
 + 
 +      async function lock() { 
 +        let resolve; 
 +        let ready = term.ready; 
 +        term.ready = new Promise((res) => (resolve = res)); 
 +        await ready; 
 +        return resolve; 
 +      } 
 + 
 +      async function interpreter(command) { 
 +        let unlock = await lock(); 
 +        term.pause(); 
 +        // multiline should be split (useful when pasting) 
 +        for (const c of command.split("\n")) { 
 +          let fut = pyconsole.push(c); 
 +          term.set_prompt(fut.syntax_check === "incomplete" ? ps2 : ps1); 
 +          switch (fut.syntax_check) { 
 +            case "syntax-error": 
 +              term.error(fut.formatted_error.trimEnd()); 
 +              continue; 
 +            case "incomplete": 
 +              continue; 
 +            case "complete": 
 +              break; 
 +            default: 
 +              throw new Error(`Unexpected type ${ty}`); 
 +          } 
 +          // In JavaScript, await automatically also awaits any results of 
 +          // awaits, so if an async function returns a future, it will await 
 +          // the inner future too. This is not what we want so we 
 +          // temporarily put it into a list to protect it. 
 +          let wrapped = await_fut(fut); 
 +          // complete case, get result / error and print it. 
 +          try { 
 +            let [value] = await wrapped; 
 +            if (value !== undefined) { 
 +              echo( 
 +                repr_shorten.callKwargs(value,
 +                  separator: "\n<long output truncated>\n", 
 +                }), 
 +              ); 
 +            } 
 +            if (pyodide.isPyProxy(value)) { 
 +              value.destroy(); 
 +            } 
 +          } catch (e) { 
 +            if (e.constructor.name === "PythonError") { 
 +              const message = fut.formatted_error || e.message; 
 +              term.error(message.trimEnd()); 
 +            } else { 
 +              throw e; 
 +            } 
 +          } finally { 
 +            fut.destroy(); 
 +            wrapped.destroy(); 
 +          } 
 +        } 
 +        term.resume(); 
 +        await sleep(10); 
 +        unlock(); 
 +      } 
 + 
 +      term = jQuery("#terminal"); 
 +      term.text(''); //term.clear() 
 +      self.endTime = new Date(); 
 +      var ms = self.endTime.getTime() - self.startTime.getTime(); 
 +      banner = "Interpreter Loading time: " + ms + "ms\n" + banner; 
 +      term.terminal(interpreter,
 +        greetings: banner, 
 +        prompt: ps1, 
 +        completionEscape: false, 
 +        completion: function (command, callback) { 
 +          callback(pyconsole.complete(command).toJs()[0]); 
 +        }, 
 +        keymap: { 
 +          "CTRL+C": async function (event, original) { 
 +            clear_console(); 
 +            term.enter(); 
 +            echo("KeyboardInterrupt"); 
 +            term.set_command(""); 
 +            term.set_prompt(ps1); 
 +          }, 
 +          TAB: (event, original) => { 
 +            const command = term.before_cursor(); 
 +            // Disable completion for whitespaces. 
 +            if (command.trim() === "") { 
 +              term.insert("\t"); 
 +              return false; 
 +            } 
 +            return original(event); 
 +          }, 
 +        }, 
 +      }); 
 +      window.term = term; 
 +      pyconsole.stdout_callback = (s) => echo(s, { newline: false }); 
 +      pyconsole.stderr_callback = (s) => { 
 +        term.error(s.trimEnd()); 
 +      }; 
 +      term.ready = Promise.resolve(); 
 +      pyodide._api.on_fatal = async (e) => { 
 +        term.error( 
 +          "Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers.", 
 +        ); 
 +        term.error("The cause of the fatal error was:"); 
 +        term.error(e); 
 +        term.error("Look in the browser console for more details."); 
 +        await term.ready; 
 +        term.pause(); 
 +        await sleep(15); 
 +        term.pause(); 
 +      }; 
 + 
 +      const searchParams = new URLSearchParams(window.location.search); 
 +      if (searchParams.has("noblink")) { 
 +        $(".cmd-cursor").addClass("noblink"); 
 +      } 
 +    } 
 +    window.console_ready = main(); 
 +    /*jQuery(function() {
       languagePluginLoader.then(() => {       languagePluginLoader.then(() => {
         function pushCode(line) {         function pushCode(line) {
行 90: 行 259:
         }         }
       });       });
-    });+    });*/
   </script>   </script>
 </html> </html>
行 108: 行 277:
 >>> import sys >>> import sys
 >>> sys.version >>> sys.version
-3.7.(defaultDec 11 201912:37:21 +'3.10.(mainSep 25 202205:41:13) [Clang 16.0.0 (https://github.com/llvm/llvm-project a4a29438f451370ed241dde30bfc'
-[Clang 6.0.1 ]+
 >>> sys.version_info >>> sys.version_info
-3,7,0,final,0+sys.version_info(major=3, minor=10micro=2releaselevel='final'serial=0)
 >>> import platform >>> import platform
 >>> platform.system() >>> platform.system()
-Emscripten+'Emscripten'
 >>> platform.platform() >>> platform.platform()
-Emscripten-1.0-x86-JS-32bit+'Emscripten-3.1.21-wasm32-32bit'
 >>> >>>
 </code> </code>
  
 ===== インストール ===== ===== インストール =====
-[[https://github.com/iodide-project/pyodide/releases|Releases · iodide-project/pyodide · GitHub]] より [[https://github.com/iodide-project/pyodide/releases/download/0.14.3/pyodide-build-0.14.3.tar.bz2|pyodide-build-0.14.3.tar.bz2]] をダウンロードして Web サーバーに配置する。\\ +[[https://github.com/iodide-project/pyodide/releases|Releases · iodide-project/pyodide · GitHub]] より [[https://github.com/pyodide/pyodide/releases/download/0.22.0a1/pyodide-0.22.0a1.tar.bz2|pyodide-0.22.0a1.tar.bz2]] をダウンロードして Web サーバーに配置する。\\ 
-<code+<WRAP color_term
-$ curl -LO https://github.com/iodide-project/pyodide/releases/download/0.14.3/pyodide-build-0.14.3.tar.bz2 +<WRAP color_command><html><pre> 
-$ tar jxvf pyodide-build-0.14.3.tar.bz2 -dokuwiki/data/media/python/pyodide/ +<b class=GRN>$</b> <b class=HIY>curl</b> <b class=HIK>-LO</b> https://github.com/pyodide/pyodide/releases/download/0.22.0a1/pyodide-0.22.0a1.tar.bz2 
-</code>+</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
 +                                 Dload  Upload   Total   Spent    Left  Speed 
 +  0        0        0          0      0 --:--:-- --:--:-- --:--:--     0 
 +100  182M  100  182M    0      3010k      0  0:01:02  0:01:02 --:--:-- 2627k 
 +</pre></html></WRAP> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>mkdir</b> <b class=HIK>-p</b> ~/dokuwiki/data/media/python/pyodide/ 
 +<b class=GRN>$</b> <b class=HIY>tar</b> jxvf pyodide-0.22.0a1.tar.bz2 <b class=HIK>-C</b> ~/dokuwiki/data/media/python/pyodide/ 
 +</pre></html></WRAP> 
 +<WRAP color_result_long><html><pre> 
 +pyodide/ 
 +pyodide/fpcast_test-0.1.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/atomicwrites-1.4.0-py2.py3-none-any.whl 
 +pyodide/Jinja2-3.1.2-py3-none-any.whl 
 +pyodide/pytest-7.1.2-py3-none-any.whl 
 +pyodide/six-1.16.0-py2.py3-none-any.whl 
 +pyodide/pyodide_tblib-1.7.1-py3-none-any.whl 
 +pyodide/MarkupSafe-2.1.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pluggy-1.0.0-py2.py3-none-any.whl 
 +pyodide/pytz-2022.1-py2.py3-none-any.whl 
 +pyodide/pyparsing-3.0.9-py3-none-any.whl 
 +pyodide/attrs-21.4.0-py2.py3-none-any.whl 
 +pyodide/micropip-0.1.0-py3-none-any.whl 
 +pyodide/iniconfig-1.1.1-py2.py3-none-any.whl 
 +pyodide/sharedlib_test_py-1.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/repodata.json 
 +pyodide/pyodide_py.tar 
 +pyodide/test.html 
 +pyodide/module_test.html 
 +pyodide/webworker.js 
 +pyodide/webworker_dev.js 
 +pyodide/module_webworker_dev.js 
 +pyodide/CLAPACK-3.2.1.zip 
 +pyodide/suitesparse-5.11.0.zip 
 +pyodide/libmagic-5.42.zip 
 +pyodide/numpy-1.22.4-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pkgconfig-1.5.5-py3-none-any.whl 
 +pyodide/kiwisolver-1.4.3-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl 
 +pyodide/html5lib-1.1-py2.py3-none-any.whl 
 +pyodide/future-0.18.2-py3-none-any.whl 
 +pyodide/future-tests.tar 
 +pyodide/joblib-tests.tar 
 +pyodide/swiglpk-5.0.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/cffi_example-0.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/python_solvespace-3.0.7-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/sqlalchemy-tests.tar 
 +pyodide/cytoolz-tests.tar 
 +pyodide/decorator-5.1.1-py3-none-any.whl 
 +pyodide/jedi-tests.tar 
 +pyodide/pyodide.mjs.map 
 +pyodide/pyodide.mjs 
 +pyodide/tsconfig.tsbuildinfo 
 +pyodide/pyodide.js.map 
 +pyodide/pyodide.js 
 +pyodide/pyodide.asm.data 
 +pyodide/pyodide.asm.wasm 
 +pyodide/pyodide.asm.js 
 +pyodide/pyodide.d.ts 
 +pyodide/package.json 
 +pyodide/console.html 
 +pyodide/openssl-1.1.1n.zip 
 +pyodide/ssl-1.0.0.zip 
 +pyodide/cpp-exceptions-test-0.1.zip 
 +pyodide/sharedlib-test-1.0.zip 
 +pyodide/sqlite3-1.0.0.zip 
 +pyodide/test-1.0.0.zip 
 +pyodide/distutils-1.0.0.zip 
 +pyodide/lzma-1.0.0.zip 
 +pyodide/setuptools-62.6.0-py3-none-any.whl 
 +pyodide/regex-2022.6.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/regex-tests.tar 
 +pyodide/py-1.11.0-py2.py3-none-any.whl 
 +pyodide/more_itertools-8.13.0-py3-none-any.whl 
 +pyodide/packaging-21.3-py3-none-any.whl 
 +pyodide/geos-3.10.3.zip 
 +pyodide/libhdf5-1.12.1.zip 
 +pyodide/numpy-tests.tar 
 +pyodide/lxml-4.9.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/nose-1.3.7-py3-none-any.whl 
 +pyodide/tqdm-4.64.0-py2.py3-none-any.whl 
 +pyodide/tomli_w-1.0.0-py3-none-any.whl 
 +pyodide/joblib-1.1.0-py2.py3-none-any.whl 
 +pyodide/docutils-0.18.1-py2.py3-none-any.whl 
 +pyodide/ruamel.yaml-0.17.21-py3-none-any.whl 
 +pyodide/SQLAlchemy-1.4.37-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/cytoolz-0.11.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pyproj-3.3.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/cycler-0.11.0-py3-none-any.whl 
 +pyodide/Brotli-1.0.9-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/uncertainties-3.1.7-py2.py3-none-any.whl 
 +pyodide/uncertainties-tests.tar 
 +pyodide/svgwrite-1.4.2-py3-none-any.whl 
 +pyodide/gmpy2-2.1.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/freesasa-2.1.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pytest_benchmark-3.4.1-py2.py3-none-any.whl 
 +pyodide/python_sat-0.1.7.dev19-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/jedi-0.18.1-py2.py3-none-any.whl 
 +pyodide/cffi-1.15.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/coverage-6.4.4-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/soupsieve-2.3.2.post1-py3-none-any.whl 
 +pyodide/cssselect-1.1.0-py2.py3-none-any.whl 
 +pyodide/pyrsistent-0.18.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/asciitree-0.3.3-py3-none-any.whl 
 +pyodide/xlrd-2.0.1-py2.py3-none-any.whl 
 +pyodide/sympy-1.10.1-py3-none-any.whl 
 +pyodide/Logbook-1.5.3-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/newick-1.3.2-py2.py3-none-any.whl 
 +pyodide/nltk-3.7-py3-none-any.whl 
 +pyodide/nltk-tests.tar 
 +pyodide/pydantic-1.9.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/wrapt-1.14.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/python_magic-0.4.27-py2.py3-none-any.whl 
 +pyodide/demes-0.2.2-py3-none-any.whl 
 +pyodide/cryptography-38.0.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/parso-0.8.3-py2.py3-none-any.whl 
 +pyodide/bcrypt-4.0.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/retrying-1.3.3-py3-none-any.whl 
 +pyodide/bleach-5.0.0-py3-none-any.whl 
 +pyodide/cloudpickle-2.1.0-py3-none-any.whl 
 +pyodide/jsonschema-4.6.0-py3-none-any.whl 
 +pyodide/jsonschema-tests.tar 
 +pyodide/pyclipper-1.3.0.post3-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pycparser-2.21-py2.py3-none-any.whl 
 +pyodide/beautifulsoup4-4.11.1-py3-none-any.whl 
 +pyodide/beautifulsoup4-tests.tar 
 +pyodide/PyYAML-6.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/toolz-0.11.2-py3-none-any.whl 
 +pyodide/toolz-tests.tar 
 +pyodide/matplotlib_pyodide-0.1.1-py3-none-any.whl 
 +pyodide/msgpack-1.0.4-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/certifi-2022.6.15-py3-none-any.whl 
 +pyodide/fonttools-4.33.3-py3-none-any.whl 
 +pyodide/Pygments-2.12.0-py3-none-any.whl 
 +pyodide/typing_extensions-4.2.0-py3-none-any.whl 
 +pyodide/threadpoolctl-3.1.0-py3-none-any.whl 
 +pyodide/lazy_object_proxy-1.7.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/webencodings-0.5.1-py2.py3-none-any.whl 
 +pyodide/mpmath-1.2.1-py3-none-any.whl 
 +pyodide/mpmath-tests.tar 
 +pyodide/distlib-0.3.4-py2.py3-none-any.whl 
 +pyodide/fonts/ 
 +pyodide/fonts/DejaVuSans-Bold.ttf 
 +pyodide/fonts/DejaVuSans-BoldOblique.ttf 
 +pyodide/fonts/DejaVuSans-Oblique.ttf 
 +pyodide/fonts/DejaVuSans.ttf 
 +pyodide/fonts/DejaVuSansDisplay.ttf 
 +pyodide/fonts/DejaVuSansMono-Bold.ttf 
 +pyodide/fonts/DejaVuSansMono-BoldOblique.ttf 
 +pyodide/fonts/DejaVuSansMono-Oblique.ttf 
 +pyodide/fonts/DejaVuSansMono.ttf 
 +pyodide/fonts/DejaVuSerif-Bold.ttf 
 +pyodide/fonts/DejaVuSerif-BoldItalic.ttf 
 +pyodide/fonts/DejaVuSerif-Italic.ttf 
 +pyodide/fonts/DejaVuSerif.ttf 
 +pyodide/fonts/DejaVuSerifDisplay.ttf 
 +pyodide/fonts/Humor-Sans.ttf 
 +pyodide/fonts/LICENSE_DEJAVU 
 +pyodide/fonts/LICENSE_STIX 
 +pyodide/fonts/STIXGeneral.ttf 
 +pyodide/fonts/STIXGeneralBol.ttf 
 +pyodide/fonts/STIXGeneralBolIta.ttf 
 +pyodide/fonts/STIXGeneralItalic.ttf 
 +pyodide/fonts/STIXNonUni.ttf 
 +pyodide/fonts/STIXNonUniBol.ttf 
 +pyodide/fonts/STIXNonUniBolIta.ttf 
 +pyodide/fonts/STIXNonUniIta.ttf 
 +pyodide/fonts/STIXSizFiveSymReg.ttf 
 +pyodide/fonts/STIXSizFourSymBol.ttf 
 +pyodide/fonts/STIXSizFourSymReg.ttf 
 +pyodide/fonts/STIXSizOneSymBol.ttf 
 +pyodide/fonts/STIXSizOneSymReg.ttf 
 +pyodide/fonts/STIXSizThreeSymBol.ttf 
 +pyodide/fonts/STIXSizThreeSymReg.ttf 
 +pyodide/fonts/STIXSizTwoSymBol.ttf 
 +pyodide/fonts/STIXSizTwoSymReg.ttf 
 +pyodide/fonts/cmb10.ttf 
 +pyodide/fonts/cmex10.ttf 
 +pyodide/fonts/cmmi10.ttf 
 +pyodide/fonts/cmr10.ttf 
 +pyodide/fonts/cmss10.ttf 
 +pyodide/fonts/cmsy10.ttf 
 +pyodide/fonts/cmtt10.ttf 
 +pyodide/galpy-1.8.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/numcodecs-tests.tar 
 +pyodide/biopython-1.79-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/rebound-3.19.8-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/cftime-1.6.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/scipy-tests.tar 
 +pyodide/unyt-2.8.0-py2.py3-none-any.whl 
 +pyodide/zarr-2.11.3-py3-none-any.whl 
 +pyodide/imageio-2.19.3-py3-none-any.whl 
 +pyodide/scikit-learn-tests.tar 
 +pyodide/statsmodels-tests.tar 
 +pyodide/PIL-9.1.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pycryptodome-3.15.0-cp35-abi3-emscripten_3_1_21_wasm32.whl 
 +pyodide/pycryptodome-tests.tar 
 +pyodide/traits-6.3.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/traits-tests.tar 
 +pyodide/termcolor-1.1.0-py3-none-any.whl 
 +pyodide/bitarray-2.5.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/bitarray-tests.tar 
 +pyodide/tomli-2.0.1-py3-none-any.whl 
 +pyodide/optlang-1.5.2-py2.py3-none-any.whl 
 +pyodide/optlang-tests.tar 
 +pyodide/sympy-tests.tar 
 +pyodide/numcodecs-0.9.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/yt-4.0.4-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/bokeh-2.4.3-py3-none-any.whl 
 +pyodide/networkx-2.8.4-py3-none-any.whl 
 +pyodide/networkx-tests.tar 
 +pyodide/scipy-1.9.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/colorspacious-1.1.2-py2.py3-none-any.whl 
 +pyodide/unyt-tests.tar 
 +pyodide/zarr-tests.tar 
 +pyodide/scikit_learn-1.1.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/scikit-image-tests.tar 
 +pyodide/scikit_image-0.19.3-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/statsmodels-0.13.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/xgboost-1.6.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/cmyt-1.0.4-py3-none-any.whl 
 +pyodide/cmyt-tests.tar 
 +pyodide/matplotlib-3.5.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/matplotlib-tests.tar 
 +pyodide/Shapely-1.8.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/shapely-tests.tar 
 +pyodide/pandas-1.5.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pandas-tests.tar 
 +pyodide/mne-1.0.3-py3-none-any.whl 
 +pyodide/mne-tests.tar 
 +pyodide/boost_histogram-1.3.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/RobotRaconteur-0.15.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/msprime-1.2.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/h5py-3.7.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/h5py-tests.tar 
 +pyodide/PyWavelets-1.3.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pywavelets-tests.tar 
 +pyodide/autograd-1.4-py3-none-any.whl 
 +pyodide/autograd-tests.tar 
 +pyodide/xarray-2022.3.0-py3-none-any.whl 
 +pyodide/xarray-tests.tar 
 +pyodide/astropy-5.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pyerfa-2.0.0.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/pyerfa-tests.tar 
 +pyodide/patsy-0.5.2-py2.py3-none-any.whl 
 +pyodide/patsy-tests.tar 
 +pyodide/tskit-0.4.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/nlopt-2.7.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/sparseqr-1.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/reboundx-3.7.1-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/gsw-3.4.0-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/gsw-tests.tar 
 +pyodide/b2d-0.7.2-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +pyodide/opencv_python-4.6.0.66-cp310-cp310-emscripten_3_1_21_wasm32.whl 
 +</pre></html></WRAP> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>mv</b> ~/dokuwiki/data/media/python/pyodide/pyodide/ ~/dokuwiki/data/media/python/pyodide/0.22.0a1 
 +</pre></html></WRAP> 
 +</WRAP>
  
 ==== console.html を実行する ==== ==== console.html を実行する ====
行 167: 行 595:
 ===== 参考文献 ===== ===== 参考文献 =====
 [[https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/|Pyodide: Bringing the scientific Python stack to the browser - Mozilla Hacks - the Web developer blog]]\\ [[https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/|Pyodide: Bringing the scientific Python stack to the browser - Mozilla Hacks - the Web developer blog]]\\
 +[[https://www.publickey1.jp/blog/22/rubywebassemblywasiwebassemblyruby.html|]]\\
  
  • python/pyodide.1580857136.txt.gz
  • 最終更新: 2020/02/05 07:58
  • by ともやん