Skip to content

Don't understand WSL behaviour #101

@sravioli

Description

@sravioli

I have the following blocks in my maskfile:

# Tasks

> Useful tasks for the project

## install

> Will create a python virtual env and install the required dependencies.

Creates a virtual environment, activates it, upgrades pip to the latest version
and installs the required dependencies.

```bash
[[ "$verbose" == "true" ]] && echo "Creating python environment"
python3 -m venv .venv

[[ "$verbose" == "true" ]] && echo "Activating python environment"
source .venv/bin/activate

[[ "$verbose" == "true" ]] && echo "Upgrading pip"
python3 -m pip install --upgrade pip

[[ "$verbose" == "true" ]] && echo "Installing required dependencies"
pip install \
    mkdocs-git-revision-date-localized-plugin \
    pillow \
    cairosvg \
    mkdocs-glightbox \
```

```pwsh
if ($env:verbose) { Write-Output "Creating python environment" }
python -m venv .venv

if ($env:verbose) { Write-Output "Activating python environment" }
./.venv/Scripts/activate

if ($env:verbose) { Write-Output "Upgrading pip" }
python -m pip install --upgrade pip

if ($env:verbose) { Write-Output "Installing required dependencies" }
pip install `
    mkdocs-git-revision-date-localized-plugin `
    pillow `
    cairosvg `
    mkdocs-glightbox `
```

...

Calling mask install on powershell core, the script works, calling it inside Ubuntu (in WSL), i get the following message:

ERROR: No such file or directory (os error 2)

By commenting out the pwsh code block the script runs fine.

I installed pwsh on WSL just to test it, and this is what i get:

$ mask install
python:
Line |
   2 |  python -m venv .venv
     |  ~~~~~~
     | The term 'python' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
./.venv/Scripts/activate:
Line |
   5 |  ./.venv/Scripts/activate
     |  ~~~~~~~~~~~~~~~~~~~~~~~~
     | The term './.venv/Scripts/activate' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
python:
Line |
   8 |  python -m pip install --upgrade pip
     |  ~~~~~~
     | The term 'python' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Defaulting to user installation because normal site-packages is not writeable
Collecting mkdocs-git-revision-date-localized-plugin

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions