How do I run Anaconda through Bash application on Windows? - windows

I installed Anaconda on Windows via the normal setup.
The normal setup (to me) lets me run Anaconda from Windows' Command Prompt.
Since I'm used to Linux, I tried using Anaconda from Bash Shell (on Windows as well). And I also found a way to install it on Bash from the beginning on this link.
I'd like to just use the current installation, instead of having to reinstall everything. Is that possible?

Related

Can Jupyter Notebook run on Windows 10

I installed Jupyter Notebook on Windows 10. But I got an error when launching it in Visual Studio Code as:
jupyter : The term 'jupyter' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
After searching online, I decided to install Anaconda first and run Jupyter from it. But launching it from Anaconda was directed to a web address. It looks like Jupyter is only a web application.
I wonder if it is possible to run the Jupyter Notebook as a desktop application on Windows.
There is a JupyterLab Desktop App, see here and here. I don't know how old of a version of Windows works for it.
Rest was built from discussion in comments:
On Jupyter with VS Code:
Jupyter itself works with VScode to run Jupyter notebooks in VScode. You wouldn't need the JupyterLab Desktop App in that case. You do need Jupyter though. See here if you are interested in using Jupyter notebooks in VSCode.
On installing packages that worked before installed Anaconda:
The easiest solution would be to reinstall them. It is possible you could add the already installed ones to your path, but if you have room it is easiest to keep your Anaconda installed stuff where it is and separate from what you had. The easiest way to sort where to install them is to let Jupyter handle it. For example, if you want to work with Pandas in a notebook, in that notebook run %conda install -c anaconda pandas, based on here and the magic install command. For the packages that conda cannot install, and only for those, use %pip install <package_name>.
You can delete the install commands out of the notebook after if you want. You may just want to comment them out so you remember. For the short term you are fine re-running the commands because if the package is already installed by conda or pip it won't get reinstalled; however, if the package gets a new release and you aren't specifying versions, you'll get the latest when that install command next runs and if there is an error or incompatibility, then you'll have caused yourself an issue you could have avoided.

How to access anaconda prompt in ubuntu terminal installed in windows 10?

I have recently added the ubuntu terminal in my windows pc since certain packages were only supported in linux. Now for example if I were to access my packages that are present in my conda environments in my windows os through the linux terminal would it be possible? Will it still function the same way or do I have to manually install everything via the ubuntu terminal as well.
If I do have to install everything manually again, where will all the stored data be present? Which directories should I access?
How does this ubuntu terminal work exactly? Does it work in a similar manner if I were to dual boot it?
Yes, you can access all the packages from Ubuntu terminal. You don't have to install everything all-together again. WSL or Ubuntu on Windows can seamlessly integrate with windows. Even though Linux systems have different directory structure, Ubuntu terminal (or bash or WSL or Ubuntu for Windows) happen to maintain the directory structure for windows. So anything you install on Ubuntu terminal will be installed as to windows terms. But I wouldn't recommend mixing these two as it's very tricky. And also, WSL and dual-booting Ubuntu with windows are far from close. You can know more about it if you search online.
I would personally recommend installing Ubuntu as it makes programming a billion times easier. You don't have to install Ubuntu replacing windows. You can just install Ubuntu on a separate hard drive and just specify which drive to boot from on system start-up. If you use a laptop and don't have two drives, then create a new volume and use it as if it were an original drive.

My PyCharm start with /usr/bin/sh instead of /bin/bash in Linux Mint and not changing manually

I have installed PyCharm CE 2019.3 on Linux Mint Tricia and when I start PyCharm, the inbuilt terminal starts with /usr/bin/sh when I type command which bash in it.
The default system interpreter in the PyCharm setting is also showing /usr/bin/python3.7 but I want to use /bin/python3.7. The terminal shell path in PyCharm setting is showing /bin/sh by default which looks correct and for cross check I changed it to /bin/bash but the terminal shell is not changing.
I don't want to use /usr/bin/bash and /usr/bin/python3 because I need to use pyinstaller which works well only with global Python3 interpreter. Thanks!
I tried different ways including different versions of PyCharm and Linux distros. The issue is occurring when I am installing PyCharm CE from software center in latest Ubuntu (19.04) and Linux Mint. The issue is not coming when I am installing the same in Ubuntu 18.04 but the best solution I have achieved is by installing the PyCharm CE using Jetbrains toolbox and the issue is not coming even in Linux Mint 19.3. Hope, it may help someone. Thanks!

How to access ruby from Ubuntu bash for windows

I started ROR development on windows using Ubuntu bash. For now it was going well but when i tried to debug ruby on window using Rubymine it said no ruby SDK specified. How can i access the ruby sdk from ubuntu bash?
In resume: maybe Rubymine is a windows-program which is not aware of the ruby (ROR) environment installed inside the windows10-WSL.
In more detail: before windows10 (with winxp, win7, etc) ubuntu and linux programs could not be installed inside windows. So in those cases, if you needed to use a linux program, you could download virtualbox, create a separate VirtualMAchine, install there your Ubuntu and then inside install the ubuntu programs (Ruby, ROR, etc)
With windows10, there is a new feature called WSL - Windows Subsystem for Linux, which allows a ubuntu system to be installed inside window. It uses some hidden virtualization/conversion to make it transparent for the user, and so any ubunut command can be run from the windows-console, without VirtualBox nor VirtualMachine - its looks as if windows could execute linux programs natively (but its just an ilusion though)
It looks like you installed ROR in the WSL-Ubuntu. And then installed RubyMine on windows. And then Rubymine tried to find the ROR-things in the windows directories but it did not found any. I guess its because Rubymine is not prepared to search within the WSL-Ubuntu for the ROR-things and so fails.
My second guess, is that the easiest solution could be to avoid using WSL-Ubuntu (as other programs wont be ready for it - currently it looks more of an experiment, not a real stable standard). And instead, try to do it all inside a Virtual-Box VirtualMachine, where you install ubuntu, all the programs you want (and they will run fine there), and avoid the WSL-mix. Even if this way requires a bit more work in the start - to prepare the VirtualBox and VM with ubuntu (youtube has many tutorials for this) - it will definitely save you time/headaches in the long-run when you need to install additional library/program/gem for your ROR environment

What is the difference between Bash and Ubuntu terminals on Windows 10

I recently installed Ubuntu for Windows and now inside the Start Menu there are 2 new items:
Bash
Bash
This terminal opens in:
root#myName-PC:/mnt/c/Windows/System32#
Ubuntu
Ubuntu
This terminal opens in:
root#myname-PC:~#
What is the difference between the two?
For example, we want to install Git and Utils, RVM (Ruby) then clone a Git project and deploy via SSH with Capistrano commands. Should that be run with Bash or Ubuntu as above?
Also, should the commands be run in system32 or C:/ folder when inside the terminal?
Thanks
The Bash terminal is the old style (prior to Windows 10 v1790 a.k.a. Fall Creator Update). It resides in %LocalAppData%\Lxss and is managed using lxrun.exe.
The Ubuntu terminal is the new style, downloaded from Microsoft Store. The launcher part is a Windows App (%ProgramFiles%\WindowsApp) and its data resides in %LocalAppData%\Packages.
Those are two isolated installation of Windows Subsystem for Linux and do not interfere with each other. Practically you need only one of them, so choose one at your own preference.
I personally dislike the Windows Store version as it can be easily removed, which isn't a good thing for a productivity environment.
I was trying to delete the legacy "Bash on Windows" and wasn't unable to because lxrun.exe is not available in my system. But in case anyone needs it, here's how:
If you wish, you can manually delete your legacy instance. This may be required if you encounter issues uninstalling the legacy distro using lxrun.exe, or are running Windows 10 Spring 2018 Update (or later) which do not ship with lxrun.exe.
To forcefully delete your legacy WSL distro, delete the %localappdata%\lxss\ folder (and all it's sub-contents) using Windows' File Explorer, or the command-line: (using PowerShell)
rm -Recurse $env:localappdata/lxss/
The git bash vs the Ubuntu bash.
Basically there is nothing much different except maybe the versions of the bash. Because bash is bash. It's most likely different versions of bash were installed at different times for different purposes on the PC. And they will also likely be found in different folders on the PC.
Run the following code from the two different shells. This returns the version of bash:
echo "$BASH_VERSION"
On this PC, using the two terminals (MinGW and Ubuntu) returned the following versions of bash: (see image link below)
5.0.17(1) - release
4.4.23(1) - release
It's likely most people using PCs that have been around a while will find that there are two (or more) different versions of bash installed on their PCs. On this PC, the older version of bash was installed some time back.
That older version of bash might have been installed when Cygwin was installed on this PC. Or maybe the older version of bash was installed when Git was installed long ago. It really doesn't matter now. On this PC, bash is found in at least these following locations:
C:\cygwin64\bin\bash.exe
C:\Program Files\Git\bin\bash.exe
C:\Program Files\Git\git-bash.exe
The Windows 10 on this PC was updated. Specifically, the WSL kernel was updated from WSL to WSL2. Part of this update involved turning on some Windows features, including the: Windows Subsystem for Linux.
There was an old (virtual) version of Ubuntu (18.04) that had been installed on this PC some time back. But that old version of Ubuntu went away with this update. This WSL2 update changes the way Linux (Ubuntu) operates on this PC. After the WSL2 update, Ubuntu was installed from the Microsoft Store. This is Ubuntu 20.04.
This WSL2 update and the newly installed version of Ubuntu also installed a newer version of bash on this PC. And this newer version of bash is the newer version of bash that is showing above.
Another good way to understand the difference between these two versions of bash would be to enter the following into each shell:
type ping
The result should clearly show that one version of bash is providing the source from Windows while the other version of bash provides the source from Ubuntu.
ping is /c/windows/system32/ping
ping is /usr/bin/ping
Sometimes a picture is worth more than a thousand words. Attached below are two of the new Windows Terminals side by side.
These terminals show the two different versions of bash. Echo returns the older version of bash being used in the MinGW shell and Echo returns a newer version of bash being used in the Ubuntu shell.

Resources