Daniel F
Daniel F

Reputation: 14239

Virtualenv, have project directories located somewhere else, is that ok?

I want to use the following directory hierarchy

~/python/project-1
~/python/project-2
~/python/project-3
~/python/virtual-environments/environment-1 (virtual environment base)
~/python/virtual-environments/environment-2 (virtual environment base)

and then use it like this

# project-1 runs inside environment-1
source ~/python/virtual-environments/environment-1/bin/activate
cd ~/python/project-1/
python

.

# project-2 runs inside environment-2
source ~/python/virtual-environments/environment-2/bin/activate
cd ~/python/project-2/
python

.

# project-3 also runs inside environment-1
source ~/python/virtual-environments/environment-1/bin/activate
cd ~/python/project-3/
python

Is this allowed or could this cause some nasty problems?

I ask because it seems that

~/python/virtual-environments/environment-1/ (virtual environment base)
~/python/virtual-environments/environment-1/project-1
~/python/virtual-environments/environment-1/project-3 (not sure if "allowed")

~/python/virtual-environments/environment-2/ (virtual environment base)
~/python/virtual-environments/environment-2/project-2

is the "official" way to do it. I don't want to tie the projects so tightly to the environments and also have multiple projects use the same environment, so it's not really the inside/outside discussion, but a "completely somewhere else" one.

Upvotes: 1

Views: 401

Answers (1)

Marcin Pietraszek
Marcin Pietraszek

Reputation: 3214

Yes, it's ok. There is even a wrapper for virtualenv called virtualenvwrapper which does similar thing. By default it stores all virtualenvs in ~/.virtualenvs.

Upvotes: 2

Related Questions