Search code examples
visual-studio-codeterminal

Can't run `terminal.integrated.env` command in integrated terminal: "command not found"


Following this manual page:
https://code.visualstudio.com/docs/python/environments

I would have to set PYTHONPATH "through the terminal settings":

The PYTHONPATH environment variable specifies additional locations where the Python interpreter should look for modules. In VS Code, PYTHONPATH can be set through the terminal settings (terminal.integrated.env.*) and/or within an .env file.

How do I do that? If I write (I ssh to a Linux server):

terminal.integrated.env.linux

I get "command not found".


Solution

  • It seems you tried to enter this

    terminal.integrated.env.linux
    

    into the terminal prompt itself, which treated it as a literal command.

    What that guide on PYTHONPATH meant when it said "through the terminal settings" was Visual Studio Code's Integrated Terminal settings: https://code.visualstudio.com/docs/getstarted/settings. Specifically the settings under Terminal (filtered on terminal.integrated.env):

    screenshot of VS Code's settings UI with terminal.integrated.env filtered

    Depending on your OS/platform, you put a terminal.integrated.env.<os> block in your VS Code's settings.json file to specify the environment variables to inject when using VS Code's integrated terminal:

    From https://code.visualstudio.com/docs/getstarted/settings#_default-settings:

    // Object with environment variables that will be added to the
    // VS Code process to be used by the terminal on Linux. Set to  
    // `null` to delete the environment variable.
    "terminal.integrated.env.linux": {},
    

    So if you are on Linux:

    "terminal.integrated.env.linux": {
      "PYTHONPATH": "<absolute path>"
    },
    

    Note: see the Python docs on PYTHONPATH on what exactly needs to be specified here.

    Or, as the guide says, you can also specify a .env file.