Last active
June 22, 2019 07:27
-
-
Save Sakib37/1885b046dde18316a15d94c7ab595573 to your computer and use it in GitHub Desktop.
Pythong virtual envrionment setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# script for setting up pip and virtualenv on Ubuntu 16.04 | |
# Details can be found below | |
#!/usr/bin/env bash | |
sudo apt-get install virtualenv python3-pip -y | |
pip3 install --upgrade pip | |
# Installs virtualenvwrapper in ~/.local/bin/ | |
sudo pip3 install --user virtualenvwrapper | |
# (preferred) | |
# Installs virtualenvwrapper in /usr/bin/ | |
sudo pip3 install virtualenvwrapper | |
if `grep -q "source ~/.local/bin/virtualenvwrapper_lazy.sh" ~/.bashrc`; | |
then | |
echo "Virtual environment already exporte in ~/.bashrc file" | |
else | |
cat << EOF >> ~/.bashrc | |
# Virtual env | |
export WORKON_HOME=$HOME/.virtualenvs | |
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # Set python version | |
export VIRTUALENVWRAPPER_SCRIPT=~/.local/bin/virtualenvwrapper.sh | |
source ~/.local/bin/virtualenvwrapper_lazy.sh | |
EOF | |
# If while creating virtualenv the following meesage appears which means python cannot load virtualenvwrapper module | |
# "/usr/bin/python: No module named virtualenvwrapper" | |
# then verify that $VIRTUALENVWRAPPER_PYTHON point to the right version of python for which virtualenvwrapper is installed | |
# For python3 it should be | |
# $ ls -l $VIRTUALENVWRAPPER_PYTHON | |
# lrwxrwxrwx 1 root root 9 Mär 20 2018 /usr/bin/python3 -> python3.5 | |
fi | |
# the source command doesn't start a new shell instance but uses the current shell so the changes remain. | |
source ~/.bashrc | |
exec bash | |
#################### END of Script ##################################### | |
# Efficiently manage virtual environment | |
# source : https://virtualenvwrapper.readthedocs.io/en/latest/ | |
http://askubuntu.com/questions/244641/how-to-set-up-and-use-a-virtual-python-environment-in-ubuntu | |
# http://docs.python-guide.org/en/latest/dev/virtualenvs/ | |
# | |
# | |
# Install virtualenv | |
sudo apt-get install virtualenv (Ubuntu 16.04 or above) | |
- Check version | |
virtualenv --version | |
# First install pip and then use pip to install virtualenvwrapper | |
# so that virtualenvwrapper will be autometically install for that python vertion as pip | |
# Install pip for python3 | |
sudo apt-get -y install python3-pip | |
pip3 install --upgrade pip | |
- Check pip version | |
pip3 --version | |
# Install virtualevnwrapper | |
Because we want to avoid "sudo pip" we install virtualenvwrapper locally | |
(by default under ~/.local) with: | |
sudo pip3 install --user virtualenvwrapper | |
# Do the following steps to set virtualenvwrapper for lazy landing | |
Source- http://virtualenvwrapper.readthedocs.io/en/latest/install.html#lazy-loading | |
export WORKON_HOME=$HOME/.virtualenvs | |
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # Set python version | |
export VIRTUALENVWRAPPER_SCRIPT=~/.local/bin/virtualenvwrapper.sh | |
source ~/.local/bin/virtualenvwrapper_lazy.sh | |
# Let's Create a virtualenv | |
mkvirtualenv test (If this command hangs check "ls -l $VIRTUALENVWRAPPER_PYTHON" or change shell) | |
mkvirtualenv test -p python3 # For python3 virtual environment | |
# Work on the new virtual environment | |
workon test | |
# Deactivate running virtual environment | |
deactive | |
# Delete the environment | |
rmvirtualenv test | |
# Save and use the packages in a virtual environment | |
pip3 freeze > requirements.txt | |
# To load all the packages from requirements.txt | |
pip install -r requirements.txt | |
############################################################################################# | |
############################# Errors ################################### | |
############################################################################################# | |
# If sourcing .bashrc gives "bash: /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: No such file or directory" | |
- Uninstall virtualenvwrapper and remove the following file | |
sudo rm /etc/bash_completion.d/virtualenvwrapper |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment