2022-05-30
Python venv doesn't work if directory names change
I changed my python project directory, then venv (virtual environment) didn't work properly.
Easy way to fix is to remove the venv
and just create a new one. But there's another way if you will.
/Users/minhokim
Make a directory
mkdir project1
cd project1
Create a virtual environment inside
python3 -m venv venv source venv/bin/activate
(venv) > which python /Users/minhokim/project1/venv/bin/python3.8 (venv) > echo $VIRTUAL_ENV /Users/minhokim/project1/venv
Change parent directory name
project1 -> project2
cd ../ mv project1 project2 cd project2
(venv) > deactivate source venv/bin/activate
It's broken; venv is still pointing to previous directory name, project1
(venv) > echo $VIRTUAL_ENV /Users/minhokim/project1/venv
Change path to current
project1 -> project2
code venv/bin/activate
project2/venv/bin/activate
... VIRTUAL_ENV="/Users/minhokim/project1/venv" export VIRTUAL_ENV ...
code venv/bin/pip
code venv/bin/pip3
code venv/bin/pip3.8
... etc
#!/Users/minhokim/project1/venv/bin/python3.8 ...