timothy
timothy

Reputation: 4487

How to create a virtualenv by cloning the current local environment?

Suppose I have a python interpreter with many modules installed on my local system, and it has been tuned to just work.

Now I want to create a virtualenv to freeze these, so that they won't be broke by upgrading in the future.

How can I make it? Thanks.


I can't use pip freeze, because that's a cluster on which there's no pip and I don't have the privileges to install it. And I don't want the reinstall the modules either, I'm looking for that whether there's a cloning way.

Upvotes: 10

Views: 8280

Answers (3)

Jon Gauthier
Jon Gauthier

Reputation: 25592

Run pip freeze to create a list of all modules currently installed on the system. Then make a virtualenv, activate that environment, and install these modules.

pip freeze > env_modules.txt
virtualenv my_env
source my_env/bin/activate
pip install -r env_modules.txt

Upvotes: 9

Q.Zhao
Q.Zhao

Reputation: 21

Virtualenv does not work because it uses local python interpreter.

My solution is to use conda (anoconda or miniconda) to build the environment, so if you need some packages, you can just conda install them. Then copy it to the remote machine and run.

Upvotes: 0

Humphrey Butau
Humphrey Butau

Reputation: 39

I think the best is to use cpvirtualenv like this:

cpvirtualenv <name_of_virtualenv_to_be_copied> <name_of_new_virtualenv>

Upvotes: -3

Related Questions