python-shell icon indicating copy to clipboard operation
python-shell copied to clipboard

Support Bun

Open exKAZUu opened this issue 1 year ago • 4 comments

Describe the bug python-shell doesn't work on Bun.

Python code See the below.

Javascript code https://github.com/extrabacon/python-shell#running-python-code

import { PythonShell } from 'python-shell';

PythonShell.runString('x=1+1;print(x)', null).then((messages) => {
  console.log('finished');
});

Expected behavior 2 is shown.

Actual behavior

$ bun example.js
128 |         this.stderrParser = resolve('parse', options.stderrParser || 'text');
129 |         this.terminated = false;
130 |         this.childProcess = (0, child_process_1.spawn)(pythonPath, this.command, options);
131 |         ['stdout', 'stdin', 'stderr'].forEach(function (name) {
132 |             self[name] = self.childProcess[name];
133 |             self.parser && self[name] && self[name].setEncoding(options.encoding || 'utf8');
                                               ^
TypeError: self[name].setEncoding is not a function. (In 'self[name].setEncoding(options.encoding || "utf8")', 'self[name].setEncoding' is undefined)
      at /Users/exkazuu/ghq/github.com/WillBoosterLab/repair-ai/node_modules/python-shell/index.js:133:42
      at forEach (:1:21)
      at new PythonShell (/Users/exkazuu/ghq/github.com/WillBoosterLab/repair-ai/node_modules/python-shell/index.js:131:9)
      at /Users/exkazuu/ghq/github.com/WillBoosterLab/repair-ai/node_modules/python-shell/index.js:252:27
      at new Promise (:1:21)
      at run (/Users/exkazuu/ghq/github.com/WillBoosterLab/repair-ai/node_modules/python-shell/index.js:251:16)
      at /Users/exkazuu/ghq/github.com/WillBoosterLab/repair-ai/example.js:3:1

Bun v1.1.8 (macOS arm64)

Other Information (please complete the following information):

  • OS: macOS
  • Python Version 3.12.3
  • Node Version Bun v1.1.8 (macOS arm64)

Additional context Nothing.

exKAZUu avatar May 11 '24 06:05 exKAZUu

This looks like a bug with Bun, not python-shell. Bun should be support nodeJS functions, it's supposed to be compatible. I'll open up a issue there.

Almenon avatar May 11 '24 17:05 Almenon

Created an issue over at https://github.com/oven-sh/bun/issues/11011

Almenon avatar May 11 '24 17:05 Almenon

Is there a way to bypass this behavior in waiting a Bun update ?

Suniron avatar Oct 20 '24 17:10 Suniron