How to freeze packages installed only in the virtual environment?
PythonPipVirtualenvVirtualenvwrapperVirtual EnvironmentPython Problem Overview
How to freeze packages installed only in the virtual environment, that is, without the global ones?
Python Solutions
Solution 1 - Python
You need to use the -l
or --local
option to freeze only the local packages (and not the global ones)
pip freeze -l > requirements.txt
Make sure you are working in the virtualenv
before doing pip freeze -l
.
Solution 2 - Python
Only local packages on virtual environment
pip freeze -l > requirements.txt # or --local instead of -l
Only local packages installed by the user on virtual environment
pip freeze --user > requirements.txt
See the documentation for further details: https://pip.pypa.io/en/stable/reference/pip_freeze/.
Solution 3 - Python
For me (macOS) the following worked
path/to/venv/bin/pip3 freeze -l
Solution 4 - Python
I'm on Windows 10, python 3.6, with my virtual environment called env activated using command prompt I found that pip freeze -l
does not work (error), python -m pip freeze -l
does not work (gets global packages) but changing into my virtual environment Scripts directory and running pip freeze
or pip freeze -l
works. Here is an example of this solution/work-around with my virtual environment, env:
cd \env\Scripts
pip freeze > ..\..\requirements.txt
Solution 5 - Python
python venv/Path_to/bin/pip freeze -l
Solution 6 - Python
Install whatever you need to freeze in your virtual environment, and then
pip freeze > requirements.txt
After that install the packages in the virtual environment that you do not want to freeze.
Solution 7 - Python
Try the following command:
pip -E /path/to/env/ freeze