trailofbits / algo

Set up a personal VPN in the cloud
https://blog.trailofbits.com/2016/12/12/meet-algo-the-vpn-that-works/
GNU Affero General Public License v3.0
28.6k stars 2.32k forks source link

Virtualenv detection regression #1554

Open nickbabcock opened 5 years ago

nickbabcock commented 5 years ago

Prior to #1412 one could use any virtual environment manager (introduced by #863). Now #1412 clamps down on this flexibility. Even if one has a virtualenv with all of algo's dependencies installed (through pipenv / poetry / something else) the ./algo script will fail. I'm unsure if there is a perfect solution, as the use case in #1412 (having a wrong virtualenv activated) is fundamentally at odds with #863 (allowing any virtualenv). I believe the algo maintainers will need to decide what is more important, but I wanted to bring this up as it is a regression that users may run into.

To Reproduce

Steps to reproduce the behavior:

pip install --user pipenv
pipenv install -r requirements.txt
pipenv run ./algo

Results in:

env/bin/activate not found.  Did you follow documentation to install dependencies?

Expected behavior

Used to work just fine

jackivanov commented 5 years ago

Thank! I've reverted the PR, let's stay with this solution until we rethink it.