Python Anaconda - How to Safely Uninstall - python

I installed Python Anaconda on Mac (OS Mavericks). I wanted to revert to the default version of Python on my Mac. What's the best way to do this? Should I delete the ~/anaconda directory? Any other changes required?
Currently when I run which python I get this path:
/Users/username/anaconda/bin/python

From the docs:
To uninstall Anaconda open a terminal window and remove the entire
anaconda install directory: rm -rf ~/anaconda. You may also edit
~/.bash_profile and remove the anaconda directory from your PATH
environment variable, and remove the hidden .condarc file and
.conda and .continuum directories which may have been created in
the home directory with rm -rf ~/.condarc ~/.conda ~/.continuum.
Further notes:
Python3 installs may use a ~/anaconda3 dir instead of ~/anaconda.
You might also have a ~/.anaconda hidden directory that may be removed.
Depending on how you installed, it is possible that the PATH is modified in one of your runcom files, and not in your shell profile. So, for example if you are using bash, be sure to check your ~/.bashrc if you don't find the PATH modified in ~/.bash_profile.

The anaconda installer adds a line in your ~/.bash_profile script that prepends the anaconda bin directory to your $PATH environment variable. Deleting the anaconda directory should be all you need to do, but it's good housekeeping to remove this line from your setup script too.

Package "anaconda clean", available from Anaconda platform, should uninstall safely.
conda activate your_conda_env # activate your conda environment
conda install anaconda-clean # install the package anaconda clean
anaconda-clean --yes # clean all anaconda related files and directories
rm -rf ~/anaconda3 # removes the entire anaconda directory
rm -rf ~/.anaconda_backup # anaconda clean creates a back_up of files/dirs, remove it
# (conda list; cmd shouldn't respond after the clean up)
Refer: https://docs.anaconda.com/anaconda/install/uninstall for more details.
Note: Also, you may want to edit .bashrc (or .bash_profile) & remove the conda path in $PATH environment variable for full proper clean-up

Removing the Anaconda directory helps, but I don't think that's a good idea as you might need to use anaconda sometimes in near future. So, as suggested by mwaskom, anaconda installer automatically adds PATH variable which points to anaconda/bin directory in the ~/.bashrc file.
It looks like this
PATH="/home/linuxsagar/anaconda3/bin:$PATH
So, just comment out the line (add # in the beginning of the line).
Then reload the ~/.bashrc file executing source ~/.bashrc
Now, verify the changes executing which python in the new terminal.

rm -rf ~/anaconda
It was pretty easy. It switched my pointer to Python:
https://docs.continuum.io/anaconda/install#os-x-uninstall

If you're uninstalling Anaconda to be able to use the base Python installation in the system, you could temporarily disable the path by following these steps and not uninstalling Anaconda.
Go to your home directory. Just a cd command will do.
Edit the file .bashrc.
Look for something like export PATH="/home/ubuntu/anaconda3/bin:$PATH" in the file.
Put a # at the beginning to comment it from the script.
#export PATH="/home/ubuntu/anaconda3/bin:$PATH"
Open a new terminal and you should be running the base python installation. This works on Linux systems. Should work on Mac too.

Uninstalling Anaconda
To uninstall Anaconda, you can do a simple remove of the program. This will leave a few files behind, which for most users is just fine. See Option A.
If you also want to remove all traces of the configuration files and directories from Anaconda and its programs, you can download and use the Anaconda-Clean program first, then do a simple remove. See Option B.
Option A.
Use simple remove to uninstall Anaconda:
macOS–Open the Terminal.app or iTerm2 terminal application, and then remove your entire Anaconda directory, which has a name such as anaconda2 or anaconda3, by entering rm -rf ~/anaconda3.
Option B.
Full uninstall using Anaconda-Clean and simple remove.
NOTE: Anaconda-Clean must be run before simple remove.
Install the Anaconda-Clean package from Anaconda Prompt or a terminal window:
conda install anaconda-clean
In the same window, run one of these commands:
Remove all Anaconda-related files and directories with a confirmation prompt before deleting each one:
anaconda-clean
Or, remove all Anaconda-related files and directories without being prompted to delete each one:
anaconda-clean --yes
Anaconda-Clean creates a backup of all files and directories that might be removed, such as .bash_profile, in a folder named .anaconda_backup in your home directory. Also note that Anaconda-Clean leaves your data files in the AnacondaProjects directory untouched.
After using Anaconda-Clean, follow the instructions above in Option A to uninstall Anaconda.
Removing Anaconda path from .bash_profile
If you use Linux or macOS, you may also wish to check the .bash_profilefile in your home directory for a line such as:
export PATH="/Users/jsmith/anaconda3/bin:$PATH"
NOTE: Replace /Users/jsmith/anaconda3/ with your actual path.
This line adds the Anaconda path to the PATH environment variable. It may refer to either Anaconda or Miniconda. After uninstalling Anaconda, you may delete this line and save the file.
by official uninstalling way

rm -rf ~/anaconda3
nano ~/.bashrc
Ctrl+W to search for "Anaconda"
Delete or comment out the following lines:
/home/sammuel/.bashrc
# added by Anaconda3 4.2.0 installer
export PATH="/home/sammuel/anaconda3/bin:$PATH"
When you’re done editing the file, type Ctrl+X to exit and y to save changes.
Anaconda is now removed from your server.

Install the cleaner
me#host:~$ conda install anaconda-clean
Activate the 'base' virtual environment
me#host:~$ source ~/anaconda3/bin/activate
Run the cleaner
(base) me#host:~$ anaconda-clean --yes
Deactivate the 'base' virtual environment
(base) me#host:~$ conda deactivate
Remove the files
me#host:~$ rm -rf ~/anaconda3
me#host:~$ rm -rf ~/.anaconda_backup
Delete lines added by conda from environment file(s)
Open the .bashrc file (and/or .profile and/or .bash_profile)
nano .bashrc
Search for conda:
press CTRL+W
type conda
press ENTER
Remove everything that looks like it has been added by/for anaconda:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/me/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/me/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/me/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/me/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
This was done on Ubuntu 18.04

In case you have multiple version of anaconda,
rm -rf ~/anaconda2 [for version 2]
rm -rf ~/anaconda3 [for version 3]
Open .bashrc file in a text editor
vim .bashrc
remove anaconda directory from your PATH.
export PATH="/home/{username}/anaconda2/bin:$PATH" [for version 2]
export PATH="/home/{username}/anaconda3/bin:$PATH" [for version 3]

I simply:
rm -rf ~/anaconda3
...this removed conda also.
Then:
mousepad ~/.bashrc
...and removed the path line added at the very bottom (clearly identified by Anaconda as 'added by Anaconda'.
Worth noting that anaconda3 created a backup of my .bashrc file before modification, and named it as:
./bashrc-anaconda3.bak
...so I could always have just renamed this and deleted my modified .bashrc

To uninstall anaconda you have to:
1) Remove the entire anaconda install directory with:
rm -rf ~/anaconda2
2) And (OPTIONAL):
->Edit ~/.bash_profile to remove the anaconda directory from your PATH environment variable.
->Remove the following hidden file and folders that may have been created in the home directory:
rm -rf ~/.condarc ~/.conda ~/.continuum
source

I always try to follow the developers advice, since they are usually the ones that now how it would affect your system. Theoretically this should be the safest way:
Install the Anaconda-Clean package from Anaconda Prompt (terminal on Linux or macOS):
conda install anaconda-clean
In the same window, run one of these commands:
Remove all Anaconda-related files and directories with a confirmation prompt before deleting each one:
anaconda-clean
Remove all Anaconda-related files and directories without being prompted to delete each one:
anaconda-clean --yes
Anaconda-Clean creates a backup of all files and directories that might be removed in a folder named .anaconda_backup in your home directory. Also note that Anaconda-Clean leaves your data files in the AnacondaProjects directory untouched.
https://docs.anaconda.com/anaconda/install/uninstall/

To uninstall Anaconda Fully from your System :
Open Terminal
rm -rf ~/miniconda
rm -rf ~/.condarc ~/.conda ~/.continuum

In my case Anaconda3 was not installed in home directory. Instead, it was installed in root. Therefore, I had to do the following to get it uninstalled:
sudo rm -rf /anaconda3/bin/python

Install the Anaconda-Clean package from Anaconda Prompt
conda install anaconda-clean
In the same window, run one of these commands:
TO remove all Anaconda-related files and directories without being prompted to delete each one:
anaconda-clean --yes
Windows:
Use Windows Explorer to delete the envs and pkgs folders prior to running the uninstall in the root of your installation.
In the Control Panel, choose Add or Remove Programs or Uninstall a program, and then select Python 3.6 (Anaconda) or your version of Python.

In macOs
rm -rf ~/opt/anaconda3

rm -rf ~/anaconda3
It was enough

For windows
Install anaconda-clean module using
conda install anaconda-clean
then, run the following command to delete files step by step:
anaconda-clean
Or, just run following command to delete them all-
anaconda-clean --yes
After this Open Control Panel> Programs> Uninstall Program, here uninstall that python for which publisher is Anaconda.
Now, you can remove anaconda/scripts and /anaconda/ from PATH variable.
Hope, it helps.

Related

How to migrate anaconda envs to a new directory?

I have ssh access to a GPU cluster where I am taking over research from someone else. I wish to take the anaconda envs from /rhome/someoneelse/anaconda3/envs and move them to my installation of anaconda on /rhome/me/anaconda3. I have tried to directly copy the environment to the new directory but that didn't work. What is the way to copy the environment and have my anaconda installation work?
Use conda-pack
Install conda-pack
conda install -c conda-forge conda-pack
or
pip install conda-pack
Zipping other persons environment
While in the other machine and inside the other persons environment pack the environment and save to a tar file:
conda pack -n other_persons_environment -o environment_unpacked.tar.gz
Transfer the file environment_unpacked.tar.gz to your machine using scp or another tool.
Now to unzip the environment
mkdir -p new_directory_for_your_environment
tar -xzf environment_unpacked.tar.gz -C new_directory_for_your_environment
Unpacking
source new_directory_for_your_environment/bin/activate
python
conda-unpack
To your comment about running conda , you can see which conda is running by this command: which conda (to see the path from where conda is executing.)
Note - I misunderstood the question i.e. I though that the environment was on a different machine. It should be a lot easier if it is on the same machine. You would need to use the same steps with conda-pack and just omit the scp (other tool) file transfer part.

How to copy modules of Python between different machines

I have two machine that one does not have internet access. I want to install modules with anaconda and copy them to offline computer from the other computer that has internet access.
I tried looking for dependencies and install tar. files manually one by one and sent them to the offline machine but it is very time-consuming.
What is the easiest way? Does miniconda helpful ??
P.S: I forgot to mention that I am using anaconda in both machines. So I guess I need to create an env., install packages then export it for offline computer. Are there any other way to install number of packages to offline comp. from a copy <dir> in the online computer ??
Edit: I tried conda install --file C:\Users\myName\Desktop\OfflineInstall\packagelist.txt --channel file://C:\Users\myName\Desktop\OfflineInstall\pkgs2 but offline machine still tried to connect internet. I also used --no-deps
Edit2: For those who stuck on the same problem, I solved using conda install --file C:\Users\myName\Desktop\OfflineInstall\packagelist.txt --channel file:///C:\Users\myName\Desktop\OfflineInstall\pkgs2 --override-channels The tricky way is the file:/// prefix. You need to put ///. Also remember to put --override-channels flag to prevent connection to default channels.
It sounds like Conda-pack is what you are looking for.
Installing:
$ conda install conda-pack
On the source machine:
# Pack environment my_env into my_env.tar.gz
$ conda pack -n my_env
On the target machine:
# Unpack environment into directory `my_env`
$ mkdir -p my_env
$ tar -xzf my_env.tar.gz -C my_env
# Use python without activating or fixing the prefixes. Most python
# libraries will work fine, but things that require prefix cleanups
# will fail.
$ ./my_env/bin/python
# Activate the environment. This adds `my_env/bin` to your path
$ source my_env/bin/activate
# Run python from in the environment
(my_env) $ python
# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of python is already installed on the machine.
(my_env) $ conda-unpack
The caveat being that conda-pack will take the whole environment.
Had this problem the other day, very simple implementation.
First make a .txt file which contains all your python libraries. Now you can just pass this .txt file to whatever machine you want the solution to be installed under and issue the following command :
pip install -r packages.txt
Where "packages" is the name of your .txt file. Hope this helps!
Edit using Conda :
while read requirement; do conda install --yes $requirement; done < requirements.txt

Install virtualenv on windows without pip

In linux, you have the option to install virtualenv from apt-get so you don't have to install pip globally. This helps because you can't install a pip package globally for mistake. In the official documentation, they don't explain how to do that in windows. I found the command: "python install setup.py" but even with that I don't know where the virtualenv command is generated.
First download the package from pypi.python.org (Source) https://pypi.python.org/pypi/virtualenv and unpackage it. In a command window, go into the folder and install it:
c:...\virtualenv-X.X.X> python setup.py install
Then write a virtualenv.bat file inside the folder with this code:
#ECHO OFF
REM Install version of virtualenv from https://pypi.python.org/pypi/virtualenv
IF "%1"=="" GOTO ERROR
IF "%1"=="-d" GOTO DELETE
ECHO "creating virtualenv in %1"
python -m virtualenv %1
ECHO "VIRTUALENV CREATED. To activate: %1\Scripts\activate.bat"
GOTO END
:DELETE
IF "%2"=="" GOTO ERROR
IF NOT EXIST "%2\Scripts\activate.bat" GOTO ERROR_FOLDER
rmdir /S/Q %2
GOTO END
:ERROR_FOLDER
ECHO "The directory is not a virtualenv"
GOTO END
:ERROR
ECHO "You need to specify the name of the virtualenv"
:END
finally add c:...\virtualenv-X.X.X to the path configuration in windows. Now you can use wherever you want comand virtualenv virtual-machine-name and create and instance of virtualenv. To activate use Scripts\activate.bat To delete the virtualenv virtualenv -d virtual-name-machine
Maybe there are better solutions but I couldn't find them so I had to do this bat file

How do I run globally installed Jupyter from within virtual environments?

I'm trying to run Jupyter notebooks with a globally installed version of Jupyter from within virtual environments (using virtualenvwrapper, because I want to manage versions of installed packages). And I do not what to use Anaconda.
The problem is when I run jupyter notebook from within the virtualenv, it cannot find the packages installed in the env, it only finds the packages installed globally.
How do I set up Jupyter to check for packages installed within the virtual environment instead of globally?
Here is what I get when I run which python and which jupyter:
globally:
which python >>> /usr/local/bin/python
which jupyter >>> /usr/local/bin/jupyter
from within virtualenv:
which python >>> /Users/brianclifton/.virtualenvs/test/bin/python
which jupyter >>> /usr/local/bin/jupyter
running jupyter notebook from within the virtualenv:
which python >>> /usr/local/bin/python
which jupyter >>> /usr/local/bin/jupyter
Also, here is my .bash_profile:
export VISUAL=vim
export EDITOR="$VISUAL"
export PS1="\\[\[\e[38;5;94m\][\u] \[\e[38;5;240m\]\w:\[\e[m\] \$(__git_ps1 '(%s)')$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
export PATH=/usr/local/bin/python:/usr/local/bin:$PATH
alias ls='ls -GFh'
alias pserv="python -m SimpleHTTPServer"
alias ipynb="jupyter notebook"
export WORKON_HOME=/Users/brianclifton/.virtualenvs
export PROJECT_HOME=/Users/brianclifton/dev
source /usr/local/bin/virtualenvwrapper.sh
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
alias branch='git rev-parse --abbrev-ref HEAD'
function frameworkpython {
if [[ ! -z "$VIRTUAL_ENV" ]]; then
PYTHONHOME=$VIRTUAL_ENV /usr/local/bin/python "$#"
else
/usr/local/bin/python "$#"
fi
}
Another solution from virtualenv doc
workon test
pip install ipykernel
python -m ipykernel install --prefix=/usr/local --name test-kernel
Then your kernel should appear when you run jupyter from your other virtualenv, and all the packages installed in test would be available from it. Change prefix value according to the doc if you prefer a per-user installation instead of system-wide
One possible solution is to prefix your virutalenv's bin directory to your path. This way jupyter will find the virtualenv's libraries. You can do this by running export PATH:`which python`:$PATH after you activate your environment. It would be easy enough to alias.
However, a better solution may be to add this line to the postactivate hook/script. To find the location of this script do ls $WORKON_HOME after activate virtualenvwrapper and edit $WORKON_HOME/<virtualenv_name>/bin/postactivate.

Changing path of pip to Virtual Env

I've cloned a codebase from Heroku onto a new comp, when I try to run it none of the Python libraries that I've installed are present. After I run which pip I see that my path is /usr/local/bin/pip.
(1) How do I change the path so all the libraries install into my virtual env and (2) how can I install everything from my requirements.txt instead of individually install libraries.
(venv)admins-MacBook-Air:lhv-talenttracker surajkapoor$ which pip
/usr/local/bin/pip
Try looking at your venv/bin/activate file and see if the VIRTUAL_ENV matches your current path. If it doesn't match, change it to match your path and activate again.
$ cat activate |grep VIRTUAL_ENV=
VIRTUAL_ENV="/does/this/path/match?"

Categories

Resources