I have created an virtual environment by using virtualenv pyenv in my linux system. Now i want to use the virtual environment in another computer. Can i direct copy the virtual environment and use it in another computer? Or need i do something to set up it?
3 Answers
You should not. The other computer can have a different operating system, other packages or package versions installed, so copying the files will not work.
The point of a virtual environment is to be able to replicate it everywhere you need it.
Make a script which installs all necessary dependencies from a requirements.txt file and use it.
Use pip freeze > requirements.txt to get the list of all python packages installed. Then install the dependencies in another virtual environment on another computer using pip install -r requirements.txt.
If you want the exact environment, including system packages, on another computer, use Docker.
- 57,116
 - 41
 - 173
 - 227
 
- 
                    Your answer assumes he has internet on the other computer. What if he doesn't have that? – MetallicPriest Aug 02 '20 at 18:56
 
You can use copy and paste it in another directory or computer, but its not a best way to use virtualenv.
you better notedown your requirements in any txt file like requirement.txt and run the 
use pip freeze > requirement.txt to write all the requirements in requirement.txt
script using pip.
pip install -r requirement.txt
- 5,043
 - 1
 - 13
 - 24
 
- 
                    Thanks. First i run the command pip freeze > requirement.txt and when i moved the code to other pc i did: pip install -r requirement.txt. – rodrigorf Feb 19 '18 at 20:19
 
If your goal is to make sure that everything including your OS are the same in both computers then you can use virtual box and vagrant on top to setup a virtual box and then create your virtualenv using either requirements or any other way to reproduce it.
- 121
 - 1
 - 6