Skip to content

After using xclip in linux(ubuntu:20.04) py(calling pyperclip.copy(message)), the node failed to receive the result and eventually timed out #313

Description

@zq0904

Describe the bug
ts-node-dev test/test_pyperclip.ts
I found that the process is stuck. I'm not sure if it's a problem with the implementation of pyperclip.copy itself in the linux system or a problem with the implementation of python-shell itself (such as using clipping or buffer conflicts, etc.
What I can be sure of is that pyperclip.copy works as scheduled and it won't block the py process, but the node process just keeps waiting, which puzzles me a lot

Python code

# test_pyperclip.py# test_pyperclip.pyimportpyperclipdefmain():
message="你好"pyperclip.copy(message)
returnif__name__=="__main__":
main()

Javascript code

importpathfrom'path'import{PythonShell}from'python-shell'PythonShell.run(path.resolve(__dirname,'test_pyperclip.py'),{pythonPath: path.resolve(__dirname,'../.venv/bin/python3'),env: { ...process.env,DISPLAY: ':1'},}).then((res)=>{console.log({ res })},(err)=>{console.log({ err })})

Expected behavior
The code will execute to console.log({res}).

Actual behavior
Even if the py process has ended after the PythonShell.run() call, the Promise remains in the pending state

Other Information (please complete the following information):

  • OS: [e.g. ubuntu:20.04 & apt-get install xclip]
  • Python Version [e.g. 3.11.12]
  • Node Version [e.g. v22.14.0]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions