question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Python: Create Terminal error command noise included when default shell is fish

See original GitHub issue

Issue Type: Bug

Executing Python: Create terminal gives this output in the open terminal

Welcome to fish, the friendly interactive shell
ncohen@breathe-book ~/s/DefectCorrectionsNotebook> 
source /Users/ncohen/anaconda3/bin/activate
~/anaconda3/bin/activate (line 5): 'return' outside of function definition
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
                                            ^
from sourcing file ~/anaconda3/bin/activate
        called on standard input

source: Error while reading file '/Users/ncohen/anaconda3/bin/activate'
ncohen@breathe-book ~/s/DefectCorrectionsNotebook> conda activate DCN
ncohen@breathe-book ~/s/DefectCorrectionsNotebook>                                                                                                                                                                      (DCN) 

The line noise above comes from the fact that anaconda3/bin/activate is sh/bash syntax and not compatible with fish.

I think I see roughtly two possible approaches to fixing this:

Option 1

Assume that the user has already run the appropriate conda.fish script within their shell setup context in order to make conda available for use within their shell. For example in my ~/.config/fish/config.fish I have

source ~/anaconda3/etc/fish/conf.d/conda.fish

Which ensures (for conda 4.4 and greater) that 'conda` is in my PATH and that ‘conda activate’ will work correctly for use from the fish shell.

If this tact is used, then I would expect Python: Create Terminal to look like this

Welcome to fish, the friendly interactive shell
ncohen@breathe-book ~/s/DefectCorrectionsNotebook> conda activate DCN
ncohen@breathe-book ~/s/DefectCorrectionsNotebook>                                                                                                                                                                      (DCN) 

Option 2

If its not desirable to assume the user has setup their shell appropriately for conda – then I think it would be needed to invoke the correct conda.{sh,fish,…} setup script for each shell. The activate script would work with bash shell I think but if the user’s shell is fish the output should look like this

ncohen@breathe-book ~/s/DefectCorrectionsNotebook> source ~/anaconda3/etc/fish/conf.d/conda.fish
ncohen@breathe-book ~/s/DefectCorrectionsNotebook> conda activate DCN

I believe that last sequence will only work with anaconda 4.4 and greater -the pre-4.4 version of conda.fish assumed that the conda command had already been added to the user PATH – whereas post 4.4 configures PATH to include the appropriate conda binary such that conda binary’s conda activate command will work correctly with the fish shell. Conda notes on the 4.4 changes

Extension version: 2019.3.6139 VS Code version: Code 1.32.3 (a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4, 2019-03-14T22:46:48.547Z) OS version: Darwin x64 18.2.0

System Info
Item Value
CPUs Intel® Core™ i7-7700HQ CPU @ 2.80GHz (8 x 2800)
GPU Status 2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: enabled
rasterization: enabled
surface_synchronization: enabled_on
video_decode: enabled
webgl: enabled
webgl2: enabled
Load (avg) 2, 2, 2
Memory (System) 16.00GB (3.02GB free)
Process Argv .
Screen Reader no
VM 0%

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:18
  • Comments:9 (1 by maintainers)

github_iconTop GitHub Comments

8reactions
ion2014commented, Aug 14, 2019

As for today the bug persists, if you just want to get rid of the anooying error just uncheck the python > terminal: Activate Environment settings and activate the environment manually.

6reactions
avarun42commented, Apr 6, 2019

Yes, this is quite annoying and happens every time I create a new terminal instance when working in a Python project. IMO there is no reason to be sourcing conda’s bin/activate. The sane default is definitely for the user to setup their environment to already include conda’s activate, and the python extension’s only responsibility should be to activate the correct conda environment.

Read more comments on GitHub >

github_iconTop Results From Across the Web

VSCode conda activate base giving CommandNotFoundError
I got the following error: CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Read more >
Terminal emulator | PyCharm Documentation - JetBrains
Use it to run Git commands, set file permissions, and perform other command-line tasks without switching to a dedicated terminal application.
Read more >
Configuration - Starship: Cross-Shell Prompt
To get started configuring starship, create the following file: ~/.config/starship.toml . ... By default starship logs warnings and errors into a file named ......
Read more >
Advanced Visual Studio Code for Python Developers
Because VS Code does need a bit of configuration to make it as powerful as a dedicated terminal application, you'll set that up...
Read more >
How to disable Bash on Windows notification sound effect
You'll need to restart your currently open bash shell before it takes affect. This will only work for your current user, and won't...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found