This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Running a Linux command for "Ubuntu on Windows" with WSL from a python script

Hello.
I'm using the command

Popen(['wsl', '/tmp/docker-desktop-root/mnt/host/c/Users/user/ensembl-vep/vep\n'], stderr=STDOUT).stdout

from a python script to run a Linux program "ensembl-vep". Unlike when I run the command in "Ubuntu on Windows", when I run it from the python script I get the following error message:

env: can't execute 'perl': No such file or directory.

I couldn't find relevant information about that issue.
Does anyone have an idea what I should do?

Thanks.

ensembl-vep windows-subsystem-for-linux wsl python ubuntu

1 answer

The script vep is trying to find perl by:

 #!/usr/bin/env/ perl 

The error is telling you it cannot find it.

I would suggest to have this tool installed locally and not try to run it from WSL. From what I remember in newer versions of WSL you won't even have direct access to files of linux subsystem from outside and it's all bundled in a single image-like object.

Log in to answer this question.